@import url("hrms.css");

:root {
    --school-blue: #147df5;
    --school-deep: #071f3b;
    --school-green: #08b985;
    --school-purple: #7859f6;
    --school-orange: #ff8b35;
    --school-coral: #ff5d7c;
    --school-line: #dce9f6;
    --school-soft: #f3f9ff;
    --school-shadow: 0 24px 60px rgba(11, 59, 106, .12);
}

.school-page main {
    overflow: hidden;
}

.school-page .infotattwa-navbar {
    background: #fff !important;
    box-shadow: 0 3px 18px rgba(7, 31, 59, .08);
}

.school-heading {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    max-width: 900px;
}

.school-heading h2 {
    margin-bottom: 15px;
}

.school-reveal {
    opacity: 0;
    transform: translateY(25px);
    transition: opacity .7s ease, transform .7s ease;
}

.school-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* Hero */
.school-hero {
    background:
        radial-gradient(circle at 88% 10%, rgba(20, 125, 245, .15), transparent 30%),
        linear-gradient(120deg, #fff 6%, #f1f9ff 62%, #e9f5ff 100%);
    min-height: 800px;
    padding: 165px 0 65px;
    position: relative;
}

.school-hero::before {
    background-image: radial-gradient(rgba(20, 125, 245, .16) 1px, transparent 1px);
    background-size: 22px 22px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(90deg, transparent, #000 40%, transparent 84%);
    opacity: .35;
    position: absolute;
}

.school-shape {
    border: 1px solid rgba(20, 125, 245, .13);
    border-radius: 50%;
    position: absolute;
}

.school-shape-one {
    height: 540px;
    right: -220px;
    top: 95px;
    width: 540px;
}

.school-shape-two {
    bottom: 30px;
    height: 250px;
    left: -130px;
    width: 250px;
}

.school-hero-grid {
    align-items: center;
    display: grid;
    gap: 56px;
    grid-template-columns: .78fr 1.22fr;
    position: relative;
    z-index: 2;
}

.school-hero-copy h1 {
    color: var(--school-deep);
    font-size: clamp(48px, 5.5vw, 76px);
    font-weight: 850;
    letter-spacing: -3.2px;
    line-height: 1;
    margin: 0 0 20px;
}

.school-hero-copy h1 span {
    background: linear-gradient(125deg, var(--school-blue), #05a8df);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    display: block;
}

.school-hero-copy h2 {
    color: #183954;
    font-size: 23px;
    font-weight: 750;
    line-height: 1.35;
    margin: 0 0 18px;
}

.school-hero-copy > p {
    color: #4d627c;
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 28px;
}

.school-demo-note {
    align-items: center;
    display: flex;
    font-size: 11px !important;
    gap: 7px;
    margin-top: 17px !important;
}

.school-hero-visual {
    max-width: 100%;
    min-height: 520px;
    min-width: 0;
    perspective: 1300px;
    position: relative;
}

.school-laptop {
    background: #0b2948;
    border: 9px solid #0b2948;
    border-radius: 22px;
    box-shadow: 0 38px 82px rgba(5, 36, 68, .28);
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 40px;
    transform: rotateY(-5deg) rotateX(2deg);
    width: 94%;
}

.school-laptop::after {
    background: linear-gradient(90deg, #9db7cc, #e7f0f7, #9db7cc);
    border-radius: 0 0 20px 20px;
    bottom: -14px;
    content: "";
    height: 14px;
    left: -3%;
    position: absolute;
    width: 106%;
}

.school-laptop-top {
    align-items: center;
    background: #fff;
    display: flex;
    gap: 5px;
    height: 28px;
    padding: 0 12px;
}

.school-laptop-top span {
    background: #dfe8f1;
    border-radius: 50%;
    height: 7px;
    width: 7px;
}

.school-laptop-top small {
    color: #8192a5;
    font-size: 8px;
    font-weight: 800;
    margin-left: auto;
}

.school-dashboard {
    background: #f4f8fd;
    display: grid;
    grid-template-columns: 120px 1fr;
    min-height: 415px;
}

.school-sidebar {
    background: #092642;
    color: #a9c0d5;
    padding: 20px 10px;
}

.school-sidebar b {
    color: #fff;
    display: block;
    font-size: 14px;
    margin: 0 7px 20px;
}

.school-sidebar b i {
    color: #43adff;
    margin-right: 4px;
}

.school-sidebar a {
    align-items: center;
    border-radius: 7px;
    color: #adc1d4;
    display: flex;
    font-size: 8px;
    gap: 7px;
    margin-bottom: 4px;
    padding: 7px;
}

.school-sidebar a.active {
    background: var(--school-blue);
    color: #fff;
}

.school-dashboard-main {
    min-width: 0;
    padding: 22px 18px;
}

.school-dashboard-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.school-dashboard-head > div {
    display: flex;
    flex-direction: column;
}

.school-dashboard-head small {
    color: #899bad;
    font-size: 8px;
}

.school-dashboard-head strong {
    font-size: 14px;
}

.school-dashboard-head > span {
    align-items: center;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 6px 14px rgba(10, 49, 85, .08);
    display: flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.school-stat-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, 1fr);
}

.school-stat-grid article {
    background: #fff;
    border: 1px solid #e5eef7;
    border-radius: 10px;
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 10px;
}

.school-stat-grid i {
    grid-row: 1 / 3;
    margin-right: 7px;
}

.school-stat-grid small {
    color: #8193a6;
    font-size: 7px;
}

.school-stat-grid strong {
    font-size: 15px;
}

.school-dashboard-lower {
    display: grid;
    gap: 11px;
    grid-template-columns: 1.45fr .75fr;
    margin-top: 12px;
}

.school-dashboard-lower article {
    background: #fff;
    border: 1px solid #e4edf7;
    border-radius: 11px;
    padding: 13px;
}

.school-line-card > div {
    display: flex;
    font-size: 9px;
    justify-content: space-between;
}

.school-line-card small {
    color: #8c9cad;
    font-size: 7px;
}

.school-line-card svg {
    height: 130px;
    width: 100%;
}

.school-line-card path {
    fill: none;
    stroke: var(--school-blue);
    stroke-dasharray: 500;
    stroke-dashoffset: 500;
    stroke-linecap: round;
    stroke-width: 5;
}

.is-visible .school-line-card path {
    animation: school-draw 1.7s ease forwards;
}

.school-activity-card > b {
    display: block;
    font-size: 9px;
    margin-bottom: 11px;
}

.school-activity-card p {
    align-items: center;
    display: flex;
    font-size: 7px;
    gap: 7px;
    line-height: 1.2;
    margin: 0 0 11px;
}

.school-activity-card p i {
    align-items: center;
    background: #eaf4ff;
    border-radius: 7px;
    color: var(--school-blue);
    display: flex;
    height: 25px;
    justify-content: center;
    width: 25px;
}

.school-activity-card p span {
    display: flex;
    flex-direction: column;
}

.school-activity-card p small {
    color: #8ca0b4;
    font-size: 6px;
}

.school-phone {
    background: #0a213b;
    border: 7px solid #0a213b;
    border-radius: 25px;
    bottom: 24px;
    box-shadow: 0 24px 55px rgba(3, 28, 55, .3);
    color: #17344e;
    min-height: 290px;
    padding: 30px 12px 13px;
    position: absolute;
    right: -8px;
    width: 150px;
    z-index: 3;
}

.school-phone::before {
    background: #fff;
    border-radius: 18px;
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
}

.school-phone-speaker {
    background: #0a213b;
    border-radius: 10px;
    height: 6px;
    left: 50%;
    position: absolute;
    top: 8px;
    transform: translateX(-50%);
    width: 45px;
}

.school-phone > small {
    color: #8396aa;
    display: block;
    font-size: 7px;
}

.school-phone > strong {
    display: block;
    font-size: 13px;
    margin: 2px 0 17px;
}

.school-phone > div:last-child {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, 1fr);
}

.school-phone > div span {
    align-items: center;
    background: #f1f7fd;
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    font-size: 6px;
    gap: 6px;
    padding: 12px 3px;
}

.school-phone > div i {
    color: var(--school-blue);
    font-size: 17px;
}

.school-float {
    align-items: center;
    animation: school-float 5s ease-in-out infinite;
    background: rgba(255, 255, 255, .95);
    border: 1px solid rgba(20, 125, 245, .13);
    border-radius: 13px;
    box-shadow: 0 18px 45px rgba(17, 65, 111, .16);
    display: flex;
    font-size: 9px;
    gap: 8px;
    padding: 9px 12px;
    position: absolute;
    z-index: 4;
}

.school-float .hr-icon {
    border-radius: 9px;
    font-size: 14px;
    height: 30px;
    width: 30px;
}

.school-float-one {
    right: 10px;
    top: 0;
}

.school-float-two {
    animation-delay: -2s;
    bottom: 0;
    left: -25px;
}

.school-hero-benefits {
    border-top: 1px solid rgba(20, 125, 245, .16);
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 40px;
    padding-top: 25px;
    position: relative;
    z-index: 2;
}

.school-hero-benefits span {
    align-items: center;
    color: #23425e;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    gap: 9px;
}

.school-hero-benefits i {
    color: var(--school-blue);
    font-size: 20px;
}

/* Features and explorer */
.school-feature-grid {
    display: grid;
    gap: 17px;
    grid-template-columns: repeat(4, 1fr);
}

.school-feature-grid .hr-card {
    min-height: 215px;
}

.school-explorer {
    background: linear-gradient(180deg, #fff, #f4f9ff);
}

.school-explorer-shell {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 24px;
    box-shadow: var(--school-shadow);
    overflow: hidden;
}

.school-tabs {
    background: #f4f8fd;
    border-bottom: 1px solid var(--school-line);
    display: flex;
    gap: 5px;
    overflow-x: auto;
    padding: 14px;
    scrollbar-width: none;
}

.school-tabs button {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #526a83;
    flex: 1 0 auto;
    font-size: 11px;
    font-weight: 800;
    padding: 13px 15px;
    text-transform: uppercase;
}

.school-tabs button.active {
    background: var(--school-blue);
    box-shadow: 0 8px 18px rgba(20, 125, 245, .22);
    color: #fff;
}

.school-tab-panel {
    align-items: center;
    display: grid;
    gap: 50px;
    grid-template-columns: .75fr 1.25fr;
    min-height: 430px;
    padding: 45px;
    transition: opacity .18s ease, transform .18s ease;
}

.school-tab-panel.is-switching {
    opacity: .25;
    transform: translateY(7px);
}

.school-tab-copy > small {
    color: var(--school-blue);
    display: block;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-top: 18px;
    text-transform: uppercase;
}

.school-tab-copy h3 {
    font-size: 29px;
    font-weight: 800;
    line-height: 1.15;
    margin: 8px 0 13px;
}

.school-tab-copy p {
    color: #4d627b;
    font-size: 14px;
    line-height: 1.65;
}

.school-tab-copy ul {
    margin: 18px 0 0;
}

.school-tab-copy li {
    color: #35516d;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 9px;
}

.school-tab-copy li i {
    color: var(--school-green);
    margin-right: 7px;
}

.school-data-table {
    background: #f5f8fc;
    border: 1px solid #dce7f3;
    border-radius: 17px;
    box-shadow: 0 18px 40px rgba(15, 58, 100, .11);
    padding: 22px;
}

.school-table-toolbar {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr auto auto;
    margin-bottom: 18px;
}

.school-table-toolbar span {
    background: #fff;
    border: 1px solid #dce7f3;
    border-radius: 7px;
    color: #7c8fa2;
    font-size: 9px;
    padding: 9px;
}

.school-table-toolbar button {
    background: var(--school-blue);
    border: 0;
    border-radius: 7px;
    color: #fff;
    font-size: 9px;
    padding: 10px;
}

.school-table-head,
.school-table-row {
    align-items: center;
    display: grid;
    grid-template-columns: 1.3fr .8fr .55fr;
    padding: 10px;
}

.school-table-head {
    color: #8294a7;
    font-size: 9px;
    font-weight: 700;
}

.school-table-row {
    background: #fff;
    border-radius: 9px;
    font-size: 10px;
    margin-bottom: 8px;
}

.school-table-row b {
    align-items: center;
    display: flex;
    gap: 8px;
}

.school-table-row b i {
    align-items: center;
    background: #e8f3ff;
    border-radius: 8px;
    color: var(--school-blue);
    display: flex;
    height: 27px;
    justify-content: center;
    width: 27px;
}

.school-table-row em {
    background: #e4f8ef;
    border-radius: 20px;
    color: #079764;
    font-size: 8px;
    font-style: normal;
    padding: 4px 8px;
    text-align: center;
}

.school-sample-label {
    color: #8495a7;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}

/* Students and portals */
.school-student-grid,
.school-portal-grid,
.school-teacher-grid {
    align-items: center;
    display: grid;
    gap: 75px;
    grid-template-columns: 1fr 1fr;
}

.school-student-ui,
.school-teacher-ui {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 24px;
    box-shadow: var(--school-shadow);
    padding: 30px;
}

.school-student-profile {
    align-items: center;
    display: flex;
    gap: 13px;
}

.school-student-profile > span {
    align-items: center;
    background: linear-gradient(135deg, var(--school-blue), var(--school-purple));
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 16px;
    font-weight: 800;
    height: 55px;
    justify-content: center;
    width: 55px;
}

.school-student-profile > div {
    display: flex;
    flex-direction: column;
}

.school-student-profile small {
    color: #8193a5;
    font-size: 10px;
}

.school-student-profile em {
    background: #e3f8ee;
    border-radius: 30px;
    color: #079764;
    font-size: 9px;
    font-style: normal;
    margin-left: auto;
    padding: 6px 10px;
}

.school-student-kpis {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin: 25px 0;
}

.school-student-kpis article {
    background: #f3f8fd;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    padding: 15px;
}

.school-student-kpis small {
    color: #75899d;
    font-size: 9px;
}

.school-student-kpis strong {
    font-size: 20px;
}

.school-student-chart {
    background: #f8fbff;
    border-radius: 14px;
    padding: 20px;
}

.school-student-chart > b {
    display: block;
    font-size: 13px;
    margin-bottom: 17px;
}

.school-student-chart > div {
    display: grid;
    gap: 12px;
}

.school-student-chart span {
    color: #3d5670;
    font-size: 9px;
    position: relative;
}

.school-student-chart span::before,
.school-student-chart span::after {
    border-radius: 5px;
    bottom: 1px;
    content: "";
    height: 7px;
    left: 70px;
    position: absolute;
}

.school-student-chart span::before {
    background: #e5edf6;
    right: 0;
}

.school-student-chart span::after {
    background: linear-gradient(90deg, var(--school-blue), #43b3ff);
    width: var(--score);
    max-width: calc(100% - 70px);
}

.school-check-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
}

.school-check-grid span {
    color: #294963;
    font-size: 13px;
    font-weight: 700;
}

.school-check-grid i {
    align-items: center;
    background: #e1f8ef;
    border-radius: 50%;
    color: var(--school-green);
    display: inline-flex;
    height: 22px;
    justify-content: center;
    margin-right: 7px;
    width: 22px;
}

.school-portals {
    background: linear-gradient(115deg, #f5faff, #eaf5ff);
}

.school-phone-large {
    background: #fff;
    border: 10px solid #0a223d;
    border-radius: 35px;
    box-shadow: 0 35px 70px rgba(6, 38, 70, .25);
    justify-self: center;
    min-height: 535px;
    padding: 40px 24px 24px;
    position: relative;
    width: 285px;
}

.school-phone-notch {
    background: #0a223d;
    border-radius: 0 0 12px 12px;
    height: 20px;
    left: 50%;
    position: absolute;
    top: -1px;
    transform: translateX(-50%);
    width: 95px;
}

.school-mobile-head {
    display: grid;
    grid-template-columns: 1fr auto;
}

.school-mobile-head span {
    color: #8495a7;
    font-size: 9px;
}

.school-mobile-head b {
    font-size: 18px;
    grid-column: 1;
}

.school-mobile-head i {
    align-items: center;
    background: #eef6ff;
    border-radius: 50%;
    color: var(--school-blue);
    display: flex;
    grid-column: 2;
    grid-row: 1 / 3;
    height: 35px;
    justify-content: center;
    width: 35px;
}

.school-mobile-banner {
    align-items: center;
    background: linear-gradient(135deg, var(--school-blue), #37a6ff);
    border-radius: 15px;
    color: #fff;
    display: flex;
    gap: 12px;
    margin: 25px 0 18px;
    padding: 17px;
}

.school-mobile-banner > i {
    font-size: 28px;
}

.school-mobile-banner span {
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 800;
}

.school-mobile-banner small {
    color: rgba(255, 255, 255, .8);
    font-size: 8px;
    margin-top: 3px;
}

.school-mobile-apps {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
}

.school-mobile-apps span {
    align-items: center;
    background: #f2f7fc;
    border: 1px solid #e3ecf6;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    font-size: 9px;
    font-weight: 700;
    gap: 8px;
    padding: 17px 6px;
}

.school-mobile-apps i {
    color: var(--school-blue);
    font-size: 22px;
}

.school-mini-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
}

.school-mini-grid article {
    align-items: center;
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 14px;
    display: flex;
    font-size: 11px;
    gap: 12px;
    padding: 14px;
}

.school-mini-grid .hr-icon {
    border-radius: 10px;
    font-size: 18px;
    height: 42px;
    width: 42px;
}

.school-teacher-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.school-teacher-pills span {
    background: #eff6fd;
    border: 1px solid #dce8f5;
    border-radius: 30px;
    color: #3b5772;
    font-size: 11px;
    font-weight: 700;
    padding: 9px 13px;
}

.school-teacher-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.school-teacher-head > div {
    display: flex;
    flex-direction: column;
}

.school-teacher-head small {
    color: #8497aa;
    font-size: 9px;
}

.school-teacher-head b {
    font-size: 20px;
}

.school-teacher-head > span {
    align-items: center;
    display: flex;
    font-size: 10px;
    font-weight: 700;
    gap: 7px;
}

.school-teacher-head > span i {
    color: var(--school-blue);
    font-size: 22px;
}

.school-teacher-cards {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
    margin: 25px 0;
}

.school-teacher-cards article {
    background: #f3f8fd;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.school-teacher-cards i {
    color: var(--school-blue);
    font-size: 23px;
    margin-bottom: 12px;
}

.school-teacher-cards b {
    font-size: 11px;
}

.school-teacher-cards small {
    color: #7e91a5;
    font-size: 8px;
    margin-top: 4px;
}

.school-today {
    display: grid;
    gap: 8px;
}

.school-today > b {
    font-size: 12px;
    margin-bottom: 4px;
}

.school-today span {
    background: #fff;
    border: 1px solid #e3ecf5;
    border-radius: 9px;
    color: #425c76;
    font-size: 10px;
    padding: 10px;
}

.school-today i {
    color: var(--school-blue);
    font-style: normal;
    font-weight: 800;
    margin-right: 12px;
}

/* Ecosystem */
.school-ecosystem-section,
.school-analytics,
.school-security,
.school-transform {
    background: var(--school-deep);
    color: #fff;
}

.school-ecosystem-section h2,
.school-ecosystem-section p,
.school-analytics h2,
.school-analytics p,
.school-security h2,
.school-security p,
.school-transform h2 {
    color: #fff;
}

.school-ecosystem {
    height: 650px;
    margin: 0 auto;
    max-width: 1050px;
    position: relative;
}

.school-eco-orbit {
    animation: school-spin 28s linear infinite;
    border: 1px dashed rgba(90, 184, 255, .55);
    border-radius: 50%;
    height: 485px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 485px;
}

.school-eco-orbit::before,
.school-eco-orbit::after {
    background: #40b5ff;
    border-radius: 50%;
    box-shadow: 0 0 18px #40b5ff;
    content: "";
    height: 8px;
    left: 50%;
    position: absolute;
    top: -4px;
    transform: translateX(-50%);
    width: 8px;
}

.school-eco-orbit::after {
    bottom: -4px;
    left: 50%;
    right: auto;
    top: auto;
}

.school-eco-center {
    align-items: center;
    background: linear-gradient(145deg, #168cff, #125cd9);
    border: 15px solid rgba(76, 172, 255, .17);
    border-radius: 50%;
    box-shadow: 0 0 60px rgba(37, 150, 255, .35);
    display: flex;
    flex-direction: column;
    height: 210px;
    justify-content: center;
    left: 50%;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 210px;
    z-index: 2;
}

.school-eco-center i {
    font-size: 36px;
    margin-bottom: 10px;
}

.school-eco-center strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.25;
}

.school-eco-item {
    align-items: center;
    background: #112f4e;
    border: 1px solid #2b4c6c;
    border-radius: 50px;
    color: #fff;
    display: flex;
    gap: 12px;
    min-width: 205px;
    padding: 11px 15px;
    position: absolute;
    text-align: left;
    transition: .3s ease;
}

.school-eco-item:hover,
.school-eco-item:focus {
    background: #124e80;
    border-color: #42aaff;
    color: #fff;
    transform: translateY(-4px) scale(1.03);
}

.school-eco-item > i {
    align-items: center;
    background: #174976;
    border-radius: 50%;
    color: #4eb3ff;
    display: flex;
    font-size: 18px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.school-eco-item span {
    display: flex;
    flex-direction: column;
    font-size: 12px;
    font-weight: 800;
}

.school-eco-item small {
    color: #aac5dd;
    font-size: 8px;
    font-weight: 500;
    margin-top: 2px;
}

.school-eco-1 { left: 50%; top: 0; transform: translateX(-50%); }
.school-eco-1:hover { transform: translateX(-50%) translateY(-4px) scale(1.03); }
.school-eco-2 { left: 100px; top: 95px; }
.school-eco-3 { right: 100px; top: 95px; }
.school-eco-4 { left: 0; top: 280px; }
.school-eco-5 { right: 0; top: 280px; }
.school-eco-6 { bottom: 75px; left: 110px; }
.school-eco-7 { bottom: 75px; right: 110px; }
.school-eco-8 { bottom: 0; left: 50%; transform: translateX(-50%); }
.school-eco-8:hover { transform: translateX(-50%) translateY(-4px) scale(1.03); }

/* Operations, modules, timetable */
.school-admin-layout {
    background: #f5f9fd;
    border: 8px solid #0b2947;
    border-radius: 22px;
    box-shadow: var(--school-shadow);
    display: grid;
    grid-template-columns: 190px 1fr;
    margin-top: 10px;
    min-height: 440px;
    overflow: hidden;
}

.school-admin-nav {
    background: #0b2947;
    display: flex;
    flex-direction: column;
    padding: 28px 16px;
}

.school-admin-nav b {
    color: #fff;
    font-size: 16px;
    margin: 0 10px 25px;
}

.school-admin-nav span {
    border-radius: 8px;
    color: #aac1d7;
    font-size: 10px;
    margin-bottom: 5px;
    padding: 10px;
}

.school-admin-nav span.active {
    background: var(--school-blue);
    color: #fff;
}

.school-admin-nav i {
    margin-right: 8px;
}

.school-admin-main {
    padding: 32px;
}

.school-admin-stats {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(4, 1fr);
}

.school-admin-stats article {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 13px;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.school-admin-stats small {
    color: #7d90a4;
    font-size: 10px;
}

.school-admin-stats strong {
    font-size: 25px;
}

.school-admin-lists {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
    margin: 18px 0;
}

.school-admin-lists article {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 13px;
    display: grid;
    gap: 8px;
    padding: 20px;
}

.school-admin-lists article > b {
    font-size: 13px;
    margin-bottom: 5px;
}

.school-admin-lists span {
    border-bottom: 1px solid #edf2f7;
    color: #476078;
    display: flex;
    font-size: 10px;
    justify-content: space-between;
    padding: 9px 0;
}

.school-admin-lists em {
    color: var(--school-blue);
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
}

.school-core-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, 1fr);
}

.school-core-card {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 20px;
    box-shadow: 0 16px 38px rgba(13, 56, 98, .07);
    min-height: 475px;
    padding: 28px;
}

.school-core-card h3 {
    font-size: 20px;
    margin: 20px 0 9px;
}

.school-core-card > p {
    color: #526981;
    font-size: 13px;
    line-height: 1.6;
}

.school-attendance-donut {
    align-items: center;
    background: conic-gradient(var(--school-green) 0 92%, #e7eef5 92%);
    border-radius: 50%;
    display: flex;
    height: 150px;
    justify-content: center;
    margin: 25px auto;
    position: relative;
    width: 150px;
}

.school-attendance-donut::after {
    background: #fff;
    border-radius: 50%;
    content: "";
    height: 105px;
    position: absolute;
    width: 105px;
}

.school-attendance-donut strong {
    display: flex;
    flex-direction: column;
    font-size: 25px;
    position: relative;
    text-align: center;
    z-index: 2;
}

.school-attendance-donut small {
    color: #7f91a4;
    font-size: 8px;
}

.school-core-card ul {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, 1fr);
}

.school-core-card li {
    color: #4c647c;
    display: flex;
    font-size: 9px;
}

.school-core-card li i {
    background: var(--school-green);
    border-radius: 50%;
    height: 8px;
    margin: 3px 6px 0 0;
    width: 8px;
}

.school-core-card li:nth-child(2) i { background: var(--school-coral); }
.school-core-card li:nth-child(3) i { background: var(--school-orange); }
.school-core-card li:nth-child(4) i { background: var(--school-purple); }
.school-core-card li b { margin-left: auto; }

.school-fee-bars {
    align-items: flex-end;
    border-bottom: 1px solid #dbe6f0;
    display: flex;
    gap: 18px;
    height: 240px;
    justify-content: center;
    margin: 20px 0;
    padding: 20px;
}

.school-fee-bars span {
    background: linear-gradient(#ffad60, var(--school-orange));
    border-radius: 7px 7px 0 0;
    height: var(--fee);
    position: relative;
    width: 48px;
}

.school-fee-bars b {
    bottom: -28px;
    color: #70849a;
    font-size: 8px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
}

.school-exam-flow {
    display: grid;
    gap: 8px;
    margin-top: 30px;
}

.school-exam-flow span {
    background: #f3efff;
    border: 1px solid #ded5ff;
    border-radius: 10px;
    color: #5c43c0;
    font-size: 11px;
    font-weight: 800;
    padding: 13px;
    text-align: center;
}

.school-exam-flow i {
    color: var(--school-purple);
    text-align: center;
}

.school-timetable {
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 20px;
    box-shadow: var(--school-shadow);
    overflow: auto;
    padding: 20px;
}

.school-time-head,
.school-time-row {
    display: grid;
    gap: 10px;
    grid-template-columns: 75px repeat(5, minmax(145px, 1fr));
    min-width: 880px;
}

.school-time-head span {
    color: #73869a;
    font-size: 10px;
    font-weight: 800;
    padding: 10px;
    text-align: center;
}

.school-time-row {
    margin-top: 10px;
}

.school-time-row > b {
    align-items: center;
    color: #4b637b;
    display: flex;
    font-size: 10px;
    justify-content: center;
}

.school-time-row span {
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    font-weight: 800;
    padding: 13px;
}

.school-time-row small {
    font-size: 8px;
    font-weight: 500;
    margin-top: 3px;
}

.school-time-row .blue { background: #eaf4ff; color: #176bc7; }
.school-time-row .green { background: #e5f9f1; color: #07875d; }
.school-time-row .purple { background: #f0ecff; color: #6348cc; }
.school-time-row .orange { background: #fff0e2; color: #c96414; }

/* Communication and analytics */
.school-communication {
    background: linear-gradient(125deg, #09233f, #0a4779);
    color: #fff;
}

.school-communication h2,
.school-communication p {
    color: #fff;
}

.school-communication-map {
    height: 430px;
    margin: 0 auto;
    max-width: 840px;
    position: relative;
}

.school-message-ring {
    animation: school-spin 24s linear infinite;
    border: 1px dashed rgba(92, 194, 255, .6);
    border-radius: 50%;
    height: 340px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 340px;
}

.school-message-center {
    align-items: center;
    background: linear-gradient(135deg, var(--school-blue), #0ab1ce);
    border-radius: 50%;
    box-shadow: 0 0 0 14px rgba(78, 178, 255, .12), 0 20px 45px rgba(0, 0, 0, .25);
    display: flex;
    flex-direction: column;
    height: 150px;
    justify-content: center;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
}

.school-message-center i {
    font-size: 31px;
    margin-bottom: 6px;
}

.school-party {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 135px;
    padding: 18px;
    position: absolute;
}

.school-party i {
    color: #55c2ff;
    font-size: 27px;
}

.school-party b {
    color: #fff;
    font-size: 11px;
}

.p-one { left: 40px; top: 35px; }
.p-two { right: 40px; top: 35px; }
.p-three { bottom: 35px; left: 40px; }
.p-four { bottom: 35px; right: 40px; }

.school-communication-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.school-communication-pills span {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 30px;
    color: #c5d9eb;
    font-size: 10px;
    font-weight: 700;
    padding: 9px 15px;
}

.school-data-notice {
    color: #b2cadf !important;
    font-size: 10px !important;
    margin: -25px 0 28px;
}

.school-kpi-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(4, 1fr);
}

.school-kpi-grid article {
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 22px;
}

.school-kpi-grid .hr-icon {
    grid-row: 1 / 4;
    margin-right: 14px;
}

.school-kpi-grid small {
    color: #b1c7db;
    font-size: 10px;
}

.school-kpi-grid strong {
    color: #fff;
    font-size: 28px;
    line-height: 1.2;
}

.school-kpi-grid em {
    color: #7e9bb5;
    font-size: 8px;
    font-style: normal;
}

.school-chart-grid {
    display: grid;
    gap: 17px;
    grid-template-columns: 1.4fr .6fr;
    margin-top: 17px;
}

.school-chart-grid article {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    min-height: 330px;
    padding: 24px;
}

.school-chart-grid article > div:first-child {
    display: flex;
    justify-content: space-between;
}

.school-chart-grid article > div:first-child b {
    color: #fff;
}

.school-chart-grid article > div:first-child small {
    color: #87a3bd;
}

.school-chart-grid svg {
    height: 240px;
    margin-top: 22px;
    width: 100%;
}

.school-chart-area {
    fill: url(#schoolFill);
}

.school-chart-line {
    fill: none;
    stroke: #38a8ff;
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    stroke-linecap: round;
    stroke-width: 5;
}

.is-visible .school-chart-line {
    animation: school-draw 1.8s ease forwards;
}

.school-donut {
    align-items: center;
    background: conic-gradient(#258df5 0 28%, #12bd88 28% 60%, #805cf7 60%);
    border-radius: 50%;
    display: flex;
    height: 165px;
    justify-content: center;
    margin: 30px auto 20px;
    position: relative;
    width: 165px;
}

.school-donut::after {
    background: #102b47;
    border-radius: 50%;
    content: "";
    height: 105px;
    position: absolute;
    width: 105px;
}

.school-donut strong {
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 24px;
    position: relative;
    text-align: center;
    z-index: 2;
}

.school-donut small {
    color: #96b1c8;
    font-size: 8px;
}

.school-chart-grid ul {
    display: grid;
    gap: 8px;
}

.school-chart-grid li {
    color: #b5cadc;
    display: flex;
    font-size: 9px;
}

.school-chart-grid li i {
    background: var(--school-blue);
    border-radius: 50%;
    height: 7px;
    margin: 3px 7px 0 0;
    width: 7px;
}

.school-chart-grid li:nth-child(2) i { background: var(--school-green); }
.school-chart-grid li:nth-child(3) i { background: var(--school-purple); }
.school-chart-grid li b { margin-left: auto; }

/* Anywhere, lifecycle and lower sections */
.school-anywhere {
    background: linear-gradient(105deg, #f9fcff, #e9f6ff);
}

.school-anywhere-grid {
    align-items: center;
    display: grid;
    gap: 65px;
    grid-template-columns: .82fr 1.18fr;
}

.school-anywhere-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 27px;
}

.school-anywhere-pills span {
    align-items: center;
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 30px;
    color: #3b5772;
    display: flex;
    font-size: 10px;
    font-weight: 700;
    gap: 7px;
    padding: 9px 13px;
}

.school-anywhere-pills i {
    color: var(--school-blue);
}

.school-device-stage {
    height: 420px;
    min-width: 0;
    position: relative;
}

.school-device-desktop {
    background: #092540;
    border: 8px solid #092540;
    border-radius: 15px;
    height: 275px;
    left: 30px;
    position: absolute;
    top: 35px;
    width: 455px;
}

.school-device-desktop::after {
    background: #173c61;
    bottom: -55px;
    content: "";
    height: 55px;
    left: 48%;
    position: absolute;
    width: 18px;
}

.school-device-desktop::before {
    background: #173c61;
    border-radius: 20px;
    bottom: -65px;
    content: "";
    height: 12px;
    left: 37%;
    position: absolute;
    width: 130px;
}

.school-device-tablet {
    background: #102d4c;
    border: 6px solid #102d4c;
    border-radius: 17px;
    bottom: 13px;
    height: 238px;
    position: absolute;
    right: 16px;
    width: 168px;
    z-index: 2;
}

.school-device-mobile {
    background: #061b31;
    border: 6px solid #061b31;
    border-radius: 21px;
    bottom: 3px;
    height: 215px;
    left: 0;
    position: absolute;
    width: 110px;
    z-index: 3;
}

.school-mini-ui {
    background: #fff;
    border-radius: 7px;
    height: 100%;
    overflow: hidden;
    padding: 18px;
}

.school-mini-ui b {
    display: block;
    font-size: 12px;
}

.school-mini-ui span {
    background: #edf4fb;
    border-radius: 5px;
    display: block;
    height: 32px;
    margin-top: 9px;
}

.school-device-desktop .school-mini-ui > div {
    align-items: flex-end;
    display: flex;
    gap: 15px;
    height: 180px;
    justify-content: center;
}

.school-device-desktop .school-mini-ui > div span {
    background: linear-gradient(#42abff, var(--school-blue));
    height: 42%;
    width: 45px;
}

.school-device-desktop .school-mini-ui > div span:nth-child(2) { height: 70%; }
.school-device-desktop .school-mini-ui > div span:nth-child(3) { height: 55%; }
.school-device-desktop .school-mini-ui > div span:nth-child(4) { height: 85%; }
.school-device-mobile .school-mini-ui { padding: 12px 7px; text-align: center; }
.school-device-mobile .school-mini-ui b { font-size: 8px; }
.school-device-mobile .school-mini-ui i { color: var(--school-blue); display: block; font-size: 25px; margin: 12px; }
.school-device-mobile .school-mini-ui span { align-items: center; display: flex; font-size: 6px; height: 22px; justify-content: center; }
.school-device-stage > div > small { bottom: -28px; color: #64798e; font-size: 9px; font-weight: 800; left: 50%; position: absolute; transform: translateX(-50%); }

.school-journey {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    position: relative;
}

.school-journey::before {
    background: linear-gradient(90deg, var(--school-blue), var(--school-green));
    content: "";
    height: 3px;
    left: 6%;
    position: absolute;
    right: 6%;
    top: 33px;
}

.school-journey article {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: center;
}

.school-journey article > span {
    align-items: center;
    background: #fff;
    border: 2px solid #9dccff;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(20, 125, 245, .13);
    color: var(--school-blue);
    display: flex;
    font-size: 20px;
    height: 67px;
    justify-content: center;
    margin-bottom: 16px;
    transition: .3s ease;
    width: 67px;
    z-index: 2;
}

.school-journey article:hover > span {
    background: var(--school-blue);
    color: #fff;
    transform: translateY(-5px);
}

.school-journey b {
    font-size: 11px;
}

.school-journey small {
    color: #75879a;
    font-size: 8px;
    margin-top: 3px;
}

.school-security-grid {
    align-items: center;
    display: grid;
    gap: 75px;
    grid-template-columns: .8fr 1.2fr;
}

.school-role-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.school-role-pills span {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 30px;
    color: #c2d7e9;
    font-size: 10px;
    font-weight: 700;
    padding: 9px 13px;
}

.school-security-list {
    display: grid;
    gap: 13px;
    grid-template-columns: repeat(2, 1fr);
}

.school-security-list article {
    align-items: flex-start;
    background: rgba(255, 255, 255, .065);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 15px;
    display: flex;
    gap: 13px;
    padding: 19px;
}

.school-security-list article:last-child {
    grid-column: 1 / 3;
}

.school-security-list article > i {
    align-items: center;
    background: rgba(48, 164, 255, .14);
    border-radius: 10px;
    color: #4db5ff;
    display: flex;
    font-size: 20px;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.school-security-list h3 {
    color: #fff;
    font-size: 13px;
    margin: 0 0 5px;
}

.school-security-list p {
    color: #abc3d8;
    font-size: 10px;
    line-height: 1.5;
    margin: 0;
}

.school-institution-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(6, 1fr);
}

.school-institution-grid article {
    border: 1px solid var(--school-line);
    border-radius: 16px;
    min-height: 200px;
    padding: 22px;
    transition: .3s ease;
}

.school-institution-grid article:hover {
    box-shadow: var(--school-shadow);
    transform: translateY(-6px);
}

.school-institution-grid h3 {
    font-size: 15px;
    margin: 18px 0 7px;
}

.school-institution-grid p {
    font-size: 11px;
    line-height: 1.5;
    margin: 0;
}

.school-custom-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
}

.school-custom-grid span {
    align-items: center;
    background: #fff;
    border: 1px solid var(--school-line);
    border-radius: 13px;
    color: #31506d;
    display: flex;
    font-size: 12px;
    font-weight: 800;
    gap: 11px;
    padding: 15px;
}

.school-custom-grid i {
    align-items: center;
    background: #eaf4ff;
    border-radius: 9px;
    color: var(--school-blue);
    display: flex;
    font-size: 17px;
    height: 37px;
    justify-content: center;
    width: 37px;
}

.school-before-after {
    align-items: stretch;
    display: grid;
    gap: 25px;
    grid-template-columns: 1fr auto 1fr;
    margin: 0 auto;
    max-width: 1000px;
}

.school-before-after article {
    border-radius: 21px;
    padding: 34px;
}

.school-before {
    background: #152d45;
    border: 1px solid #314961;
}

.school-after {
    background: linear-gradient(145deg, #0b4371, #0c6bb1);
    border: 1px solid #218cd2;
}

.school-before-after small {
    color: #70baff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.school-before-after h3 {
    color: #fff;
    font-size: 22px;
    margin: 8px 0 21px;
}

.school-before-after li {
    color: #c4d6e6;
    font-size: 12px;
    margin-bottom: 12px;
}

.school-before li i {
    color: #ff718a;
    margin-right: 8px;
}

.school-after li i {
    color: #54e1ae;
    margin-right: 8px;
}

.school-transform-arrow {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 6px;
    justify-content: center;
}

.school-transform-arrow i {
    align-items: center;
    background: var(--school-blue);
    border-radius: 50%;
    display: flex;
    font-size: 24px;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.school-transform-arrow span {
    color: #aac4da;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.school-faq-list {
    display: grid;
    gap: 11px;
    margin: 0 auto;
    max-width: 950px;
}

.school-faq-list details {
    border: 1px solid var(--school-line);
    border-radius: 13px;
    overflow: hidden;
}

.school-faq-list details[open] {
    border-color: #8fc5ff;
    box-shadow: 0 12px 30px rgba(20, 125, 245, .08);
}

.school-faq-list summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: space-between;
    padding: 18px 21px;
}

.school-faq-list summary::marker {
    content: "";
}

.school-faq-list summary i {
    color: var(--school-blue);
    transition: .3s ease;
}

.school-faq-list details[open] summary i {
    transform: rotate(45deg);
}

.school-faq-list p {
    border-top: 1px solid #e8eff7;
    font-size: 12px;
    line-height: 1.7;
    margin: 0;
    padding: 16px 21px;
}

.school-final-wrap {
    background: #edf6ff;
    padding: 0 0 90px;
}

.school-final-cta {
    align-items: center;
    background: linear-gradient(120deg, #071f3b, #0b4779);
    border-radius: 28px;
    color: #fff;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    min-height: 430px;
    overflow: hidden;
    padding: 62px;
    position: relative;
}

.school-final-cta::before {
    background: radial-gradient(circle, rgba(70, 171, 255, .24), transparent 65%);
    content: "";
    height: 600px;
    position: absolute;
    right: -180px;
    top: -220px;
    width: 600px;
}

.school-final-cta h2 {
    color: #fff;
}

.school-final-cta p {
    color: #fff;
}

.school-final-cta > div {
    position: relative;
    z-index: 2;
}

.school-btn-ghost {
    border-color: rgba(255, 255, 255, .55);
    color: #fff;
}

.school-btn-ghost:hover,
.school-btn-ghost:focus {
    background: var(--school-blue);
    border-color: var(--school-blue);
    color: #fff;
    transform: translateY(-3px);
}

.school-final-points {
    align-items: center;
    color: #c2d6e9;
    display: flex;
    font-size: 10px;
    font-weight: 700;
    gap: 11px;
    margin-top: 23px;
}

.school-final-points i {
    background: #57b8ff;
    border-radius: 50%;
    height: 4px;
    width: 4px;
}

.school-building {
    align-items: center;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 275px;
    text-align: center;
}

.school-building > i {
    color: #fff;
    font-size: 80px;
}

.school-building > div {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(3, 18px);
    margin: -43px 0 28px;
    position: relative;
}

.school-building > div span {
    background: #52b7ff;
    border-radius: 3px;
    height: 18px;
}

.school-building b {
    color: #fff;
    font-size: 13px;
}

@keyframes school-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes school-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes school-spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (max-width: 1199px) {
    .school-hero-grid {
        grid-template-columns: .85fr 1.15fr;
    }

    .school-dashboard {
        grid-template-columns: 100px 1fr;
    }

    .school-feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .school-institution-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .school-journey {
        gap: 12px;
        grid-template-columns: repeat(4, 1fr);
        row-gap: 35px;
    }

    .school-journey::before {
        display: none;
    }
}

@media (max-width: 991px) {
    .school-hero {
        padding-top: 145px;
    }

    .school-hero-grid,
    .school-student-grid,
    .school-portal-grid,
    .school-teacher-grid,
    .school-anywhere-grid,
    .school-security-grid {
        grid-template-columns: 1fr;
    }

    .school-hero-copy {
        max-width: 680px;
    }

    .school-hero-visual {
        margin-top: 20px;
    }

    .school-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .school-tab-panel {
        gap: 30px;
        grid-template-columns: 1fr;
        padding: 34px;
    }

    .school-core-grid {
        grid-template-columns: 1fr;
    }

    .school-core-card {
        min-height: 0;
    }

    .school-fee-bars {
        height: 210px;
    }

    .school-ecosystem {
        transform: scale(.9);
    }

    .school-admin-stats,
    .school-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .school-chart-grid {
        grid-template-columns: 1fr;
    }

    .school-device-stage {
        margin: 0 auto;
        max-width: 620px;
        width: 100%;
    }

    .school-security-grid {
        gap: 45px;
    }

    .school-final-cta {
        grid-template-columns: 1fr;
    }

    .school-building {
        display: none;
    }
}

@media (max-width: 767px) {
    .school-page .hr-section {
        padding: 65px 0;
    }

    .school-heading {
        margin-bottom: 34px;
    }

    .school-hero {
        min-height: 0;
        padding: 125px 0 55px;
    }

    .school-hero-copy h1 {
        font-size: 46px;
        letter-spacing: -2px;
    }

    .school-hero-copy h2 {
        font-size: 20px;
    }

    .school-hero-visual {
        height: 410px;
        margin-inline: auto;
        min-height: 410px;
        width: 100%;
    }

    .school-laptop {
        border-width: 5px;
        box-sizing: border-box;
        left: 0;
        max-width: 100%;
        top: 14px;
        transform: none;
        width: 100%;
    }

    .school-laptop-top {
        height: 25px;
        padding-inline: 9px;
    }

    .school-dashboard {
        grid-template-columns: 1fr;
        min-height: 320px;
    }

    .school-sidebar {
        display: none;
    }

    .school-dashboard-main {
        min-width: 0;
        padding: 13px 12px 16px;
    }

    .school-dashboard-head {
        margin-bottom: 12px;
    }

    .school-dashboard-head strong {
        font-size: 13px;
    }

    .school-stat-grid {
        gap: 7px;
        grid-template-columns: repeat(2, 1fr);
    }

    .school-stat-grid article {
        min-width: 0;
        padding: 9px;
    }

    .school-stat-grid small {
        font-size: 6.5px;
    }

    .school-stat-grid strong {
        font-size: 13px;
    }

    .school-dashboard-lower {
        grid-template-columns: 1fr;
    }

    .school-line-card svg {
        height: 90px;
    }

    .school-activity-card {
        display: none;
    }

    .school-phone {
        border-width: 5px;
        bottom: 3px;
        min-height: 190px;
        padding: 27px 8px 10px;
        right: 7px;
        width: 92px;
    }

    .school-phone > strong {
        font-size: 11px;
        line-height: 1.2;
        margin-bottom: 12px;
    }

    .school-phone > small {
        font-size: 6px;
    }

    .school-phone > div:last-child {
        gap: 6px;
    }

    .school-phone > div span {
        font-size: 5px;
        gap: 4px;
        padding: 7px 2px;
    }

    .school-phone > div i {
        font-size: 14px;
    }

    .school-float {
        display: none;
    }

    .school-hero-benefits {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 12px;
    }

    .school-hero-benefits span {
        font-size: 10px;
    }

    .school-feature-grid,
    .school-institution-grid,
    .school-security-list {
        grid-template-columns: 1fr;
    }

    .school-feature-grid .hr-card {
        min-height: 0;
    }

    .school-tab-panel {
        padding: 22px;
    }

    .school-tab-copy h3 {
        font-size: 25px;
    }

    .school-table-toolbar {
        grid-template-columns: 1fr auto;
    }

    .school-table-toolbar span {
        display: none;
    }

    .school-table-head,
    .school-table-row {
        grid-template-columns: 1.4fr .8fr;
    }

    .school-table-head span:last-child,
    .school-table-row em {
        display: none;
    }

    .school-student-ui,
    .school-teacher-ui {
        padding: 20px;
    }

    .school-student-kpis,
    .school-teacher-cards {
        grid-template-columns: 1fr;
    }

    .school-check-grid,
    .school-mini-grid {
        grid-template-columns: 1fr;
    }

    .school-phone-large {
        min-height: 500px;
        width: min(285px, 100%);
    }

    .school-ecosystem {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
        height: auto;
        margin-top: 30px;
        transform: none;
    }

    .school-eco-orbit {
        display: none;
    }

    .school-eco-center {
        height: 165px;
        margin: 0 auto 10px;
        position: static;
        transform: none;
        width: 165px;
    }

    .school-eco-item,
    .school-eco-1,
    .school-eco-2,
    .school-eco-3,
    .school-eco-4,
    .school-eco-5,
    .school-eco-6,
    .school-eco-7,
    .school-eco-8 {
        left: auto;
        min-width: 0;
        position: static;
        right: auto;
        top: auto;
        transform: none;
        width: 100%;
    }

    .school-eco-1:hover,
    .school-eco-8:hover {
        transform: translateY(-4px);
    }

    .school-admin-layout {
        border-width: 5px;
        grid-template-columns: 1fr;
    }

    .school-admin-nav {
        display: none;
    }

    .school-admin-main {
        padding: 16px;
    }

    .school-admin-stats,
    .school-admin-lists,
    .school-kpi-grid {
        grid-template-columns: 1fr;
    }

    .school-communication-map {
        display: grid;
        gap: 10px;
        height: auto;
        grid-template-columns: 1fr;
    }

    .school-message-ring {
        display: none;
    }

    .school-message-center {
        height: 140px;
        margin: 0 auto 12px;
        position: static;
        transform: none;
        width: 140px;
    }

    .school-party,
    .p-one,
    .p-two,
    .p-three,
    .p-four {
        flex-direction: row;
        justify-content: center;
        position: static;
        width: 100%;
    }

    .school-communication-pills {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 25px;
        width: 100%;
    }

    .school-communication-pills span {
        align-items: center;
        display: flex;
        justify-content: center;
        min-height: 42px;
        padding: 9px 8px;
        text-align: center;
        width: 100%;
    }

    .school-data-notice {
        margin-top: -14px;
    }

    .school-chart-grid article {
        min-height: 290px;
    }

    .school-anywhere-grid > * {
        min-width: 0;
    }

    .school-device-stage {
        height: 330px;
        margin: 0 auto;
        min-width: 0;
        transform: none;
        width: 100%;
    }

    .school-device-desktop {
        border-width: 6px;
        height: 220px;
        left: 50%;
        top: 24px;
        transform: translateX(-50%);
        width: calc(100% - 34px);
    }

    .school-device-desktop::after {
        bottom: -42px;
        height: 42px;
        width: 14px;
    }

    .school-device-desktop::before {
        bottom: -51px;
        left: 34%;
        width: 32%;
    }

    .school-device-desktop .school-mini-ui > div {
        gap: 8px;
        height: 140px;
    }

    .school-device-desktop .school-mini-ui > div span {
        width: 13%;
    }

    .school-device-tablet {
        bottom: 18px;
        height: 185px;
        right: 3px;
        width: 118px;
    }

    .school-device-mobile {
        bottom: 15px;
        height: 175px;
        left: 3px;
        width: 88px;
    }

    .school-journey {
        grid-template-columns: repeat(2, 1fr);
    }

    .school-security-list article:last-child {
        grid-column: auto;
    }

    .school-custom-grid {
        grid-template-columns: 1fr;
    }

    .school-before-after {
        grid-template-columns: 1fr;
    }

    .school-transform-arrow {
        min-height: 85px;
    }

    .school-transform-arrow i {
        transform: rotate(90deg);
    }

    .school-final-wrap {
        padding-bottom: 60px;
    }

    .school-final-cta {
        border-radius: 20px;
        padding: 36px 22px;
    }

    .school-final-points {
        flex-wrap: wrap;
    }
}

@media (max-width: 420px) {
    .school-hero-copy h1 {
        font-size: 40px;
    }

    .school-hero-benefits {
        grid-template-columns: 1fr;
    }

    .school-stat-grid {
        gap: 6px;
    }

    .school-stat-grid article {
        padding: 8px;
    }

    .school-phone {
        bottom: 6px;
        min-height: 180px;
        right: 5px;
        width: 84px;
    }

    .school-hero-visual {
        height: 395px;
        min-height: 395px;
    }

    .school-dashboard {
        min-height: 307px;
    }

    .school-line-card {
        padding-right: 52px !important;
    }

    .school-communication-pills {
        gap: 8px;
    }

    .school-communication-pills span {
        font-size: 9px;
    }

    .school-device-stage {
        height: 300px;
    }

    .school-device-desktop {
        height: 200px;
        width: calc(100% - 20px);
    }

    .school-device-tablet {
        height: 160px;
        width: 100px;
    }

    .school-device-mobile {
        height: 155px;
        width: 80px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .school-reveal {
        opacity: 1;
        transform: none;
    }
}
