/* ============ DESIGN TOKENS ============
*/
:root{
  --ink:#1B2140;
  --ink-2:#262C52;
  --ink-3:#333A63;
  --paper:#F7F6F0;
  --paper-2:#F1EFE6;
  --white:#FFFFFF;
  --red:#D6394A;
  --red-deep:#B32B3B;
  --red-soft:#FBE4E6;
  --green:#1F8A5F;
  --green-soft:#DEF3E9;
  --rule:#C9D3EA;
  --muted:#5C6079;
  --muted-light:#8B8FA6;
  --line:#E1DED2;
  --line-dark:#3A4270;
  --radius-lg:20px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-soft:0 24px 60px -24px rgba(27,33,64,.22);
  --shadow-card:0 14px 34px -16px rgba(27,33,64,.16);
  --ff-display:'Space Grotesk', sans-serif;
  --ff-body:'Inter', sans-serif;
  --ff-mono:'JetBrains Mono', monospace;
  --ff-hand:'Caveat', cursive;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
section{position:relative;}
h1,h2,h3,h4{font-family:var(--ff-display); color:var(--ink); line-height:1.1; letter-spacing:-0.01em; font-weight:700;}

/* Ruled notebook paper texture on light sections */
.ruled{
  background-image:linear-gradient(var(--rule) 0px, transparent 0px);
  background-size:100% 42px;
  background-position:0 6px;
}
.dark-ruled{
  background-image:linear-gradient(rgba(201,211,234,.09) 0px, transparent 0px);
  background-size:100% 42px;
}

/* Eyebrow — exam-question style tag */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-mono); font-weight:600; font-size:12.5px;
  letter-spacing:.05em; text-transform:uppercase; color:var(--red);
  margin-bottom:18px;display:none;
}
.eyebrow .tag-box{
  border:1.5px solid var(--red); border-radius:4px; padding:3px 9px;
  color:var(--red); font-weight:700;
}
.section-head{max-width:680px; margin-bottom:56px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(30px,3.6vw,32px); margin-bottom:16px;}
.section-head p{color:var(--muted); font-size:17px; line-height:1.65;}
.section-pad{padding:50px 0;}
@media(max-width:768px){.section-pad{padding:70px 0;} .wrap{padding:0 20px;}}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ff-display); font-weight:700; font-size:15px;
  padding:15px 26px; border-radius:8px; white-space:nowrap;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background .3s, color .3s;
}
.btn-red{background:var(--red); color:var(--white);}
.btn-red:hover{background:var(--red-deep); transform:translateY(-3px); box-shadow:0 14px 28px -10px rgba(214,57,74,.5);}
.btn-outline-light{border:1.5px solid rgba(255,255,255,.32); color:var(--white);}
.btn-outline-light:hover{background:rgba(255,255,255,.08); transform:translateY(-3px);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:var(--white); transform:translateY(-3px);}
.btn svg{transition:transform .3s;}
.btn:hover svg{transform:translateX(4px);}
/* Ticket-stub button: dashed perforation + notch, used for the final CTA */
.btn-stub{position:relative; background:var(--red); color:var(--white); padding-right:20px;}
.btn-stub::after{
  content:''; position:absolute; right:-9px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:50%; background:var(--ink);
}
.final-cta .btn-stub::after{background:var(--ink);}

/* ============ NAV ============ */
header.nav{position:fixed; top:0; left:0; right:0; z-index:1000; padding:24px 0; transition:all .4s cubic-bezier(.2,.8,.2,1);}
header.nav .wrap{display:flex; align-items:center; justify-content:space-between;}
header.nav.scrolled{padding:13px 0; background:rgba(247,246,240,.86); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); box-shadow:0 10px 24px -18px rgba(27,33,64,.3);}
.logo{display:flex; align-items:center; gap:9px;background: rgba(247,246,240,.86);}
.logo-mark{width:30px; height:30px; border:2px solid var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.logo-mark .dotfill{width:12px; height:12px; border-radius:50%; background:var(--red);}
.logo-word{font-family:var(--ff-display); font-weight:700; font-size:22px; letter-spacing:-.01em; color:var(--white); transition:color .4s;}
header.nav.scrolled .logo-word{color:var(--ink);}
nav.primary-links{display:flex; align-items:center; gap:32px;}
nav.primary-links > a{font-size:14px; font-weight:600; color:rgba(255,255,255,.86); position:relative; padding:6px 0; transition:color .4s;}
header.nav.scrolled nav.primary-links > a, header.nav.scrolled nav.primary-links .has-drop a{color:var(--ink);}
nav.primary-links > a::after{content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--red); transition:width .3s;}
nav.primary-links > a:hover::after{width:100%;}
.has-drop{position:relative;}
.has-drop a{
    color: rgba(255,255,255,.86);
}
header.nav.scrolled .logo {
    background: transparent !important;
}
.drop-panel{position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(6px); background:var(--white); border-radius:12px; box-shadow:var(--shadow-soft); padding:8px; min-width:190px; opacity:0; visibility:hidden; transition:all .25s ease; border:1px solid var(--line);}
.has-drop:hover .drop-panel{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.drop-panel a{display:block; padding:10px 14px; font-size:13.5px; font-weight:600; color:var(--ink); border-radius:6px;}
.drop-panel a:hover{background:var(--paper); color:var(--red);}
.nav-cta{display:flex; align-items:center; gap:18px;}
.student-login{font-size:13.5px; font-weight:700; color:var(--white); display:flex; align-items:center; gap:6px; transition:color .4s;}
header.nav.scrolled .student-login{color:var(--ink);}
.hamburger{display:none; flex-direction:column; gap:5px; width:24px;}
.hamburger span{height:2px; width:100%; background:var(--white); border-radius:2px; transition:all .3s;}
header.nav.scrolled .hamburger span{background:var(--ink);}
@media(max-width:1080px){nav.primary-links{display:none;} .student-login{display:none;} .hamburger{display:flex;}}

.mobile-menu{position:fixed; inset:0; background:var(--ink); z-index:1200; display:flex; flex-direction:column; padding:26px 24px; transform:translateX(100%); transition:transform .45s cubic-bezier(.2,.8,.2,1); overflow-y: scroll; height: 600px;}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:0px;}
.mobile-menu .close-btn{width:38px; height:38px; border:1px solid rgba(255,255,255,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff;}
.mobile-menu a{color:#fff; font-family:var(--ff-display); font-size:15px; font-weight:700; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.08);}
.mobile-menu .sub-links{display:flex; flex-direction:column; padding-left:14px;}
.mobile-menu .sub-links a{font-size:14px; font-weight:600; color:rgba(255,255,255,.65); border-bottom:none; padding:7px 0; font-family:var(--ff-mono);}
.mobile-menu .mm-cta{margin-top:28px; justify-content:center;}

/* ============ HERO ============ */
.hero{min-height:100vh; background:var(--ink); position:relative; overflow:hidden; display:flex; align-items:center; padding-top:120px; padding-bottom:0px;}
.hero .dark-ruled{position:absolute; inset:0; mask-image:linear-gradient(180deg, transparent, black 30%, black 80%, transparent);}
.hero-blob{position:absolute; border-radius:50%; filter:blur(100px); opacity:.28; pointer-events:none;}
.blob1{width:480px; height:480px; background:#5A6BD8; top:-140px; right:-120px;}
.blob2{width:360px; height:360px; background:var(--red); bottom:-160px; left:-100px; opacity:.22;}
.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; position:relative; z-index:2;}

.hero-stamp{
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center;
  width:96px; height:96px; border:1.5px dashed rgba(232,166,61,0); /* placeholder unused */
}
.hero-label{
  display:inline-flex; align-items:center; gap:10px; border:1.5px dashed rgba(255,255,255,.35);
  padding:8px 16px; border-radius:100px; font-family:var(--ff-mono); font-size:12.5px; font-weight:600;
  color:var(--white); letter-spacing:.03em; margin-bottom:28px; transform:rotate(-1.2deg);
}
.hero-label .dot{width:7px; height:7px; border-radius:50%; background:var(--red);}
.hero-slide h1{font-size:clamp(38px,4.8vw,60px); color:var(--white); margin-bottom:22px;}
.hero-slide h1 em{font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--red); position:relative;}
.hero-slide p{color:rgba(255,255,255,.62); font-size:17.5px; line-height:1.7; max-width:520px; margin-bottom:36px; font-family:var(--ff-body);}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:44px;}
.hero-dots{display:flex; gap:8px; align-items:center; font-family:var(--ff-mono);}
.hero-dots .idx{color:rgba(255,255,255,.4); font-size:12px; margin-right:6px;}
.hero-dots button{width:8px; height:8px; border-radius:50%; border:1.5px solid rgba(255,255,255,.35); transition:all .3s; background:transparent;}
.hero-dots button.active{background:var(--red); border-color:var(--red); width:22px; border-radius:5px;}

/* OMR answer-sheet hero visual */
.hero-visual{position:relative;}
.omr-card{
  position:absolute; top:6%; left:6%; right:0; bottom:6%; background:var(--white); border-radius:18px;
  box-shadow:0 40px 90px -28px rgba(0,0,0,.65); padding:26px 24px; transform:rotate(2.2deg);
  border:1px solid rgba(0,0,0,.04);
}
.omr-head{display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1.5px dashed var(--line); padding-bottom:14px; margin-bottom:16px;}
.omr-head .oh-title{font-family:var(--ff-mono); font-weight:700; font-size:11.5px; letter-spacing:.06em; color:var(--muted);}
.omr-head .oh-title b{display:block; color:var(--ink); font-size:14px; font-family:var(--ff-display); margin-top:2px;}
.omr-photo{width:44px; height:44px; border-radius:6px; overflow:hidden; border:1px solid var(--line);}
.omr-photo img{width:100%; height:100%; object-fit:cover;}
.omr-row{display:flex; align-items:center; gap:14px; margin-bottom:16px;}
.omr-qnum{font-family:var(--ff-mono); font-size:12px; color:var(--muted-light); width:26px;}
.omr-bubbles{display:flex; gap:10px;}
.omr-bubble{width:24px; height:24px; border-radius:50%; border:1.5px solid var(--line); position:relative; flex-shrink:0;}
.omr-bubble.fill-ink::after{content:''; position:absolute; inset:4px; border-radius:50%; background:var(--ink);}
.omr-bubble.fill-green{border-color:var(--green);}
.omr-bubble.fill-green::after{content:''; position:absolute; inset:4px; border-radius:50%; background:var(--green);}
.omr-foot{display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:16px; border-top:1.5px dashed var(--line);}
.omr-score{font-family:var(--ff-mono); font-size:12px; color:var(--muted);}
.omr-score b{color:var(--green); font-size:17px; display:block; font-family:var(--ff-display);}

.sticky-note{
  position:absolute; background:var(--white); border-radius:4px; padding:14px 16px 16px;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.45); z-index:4; width:172px;
}
.sticky-note::before{content:''; position:absolute; top:-9px; left:50%; transform:translateX(-50%) rotate(-4deg); width:44px; height:16px; background:rgba(214,57,74,.28); border:1px solid rgba(214,57,74,.4);}
.sticky-note .sn-num{font-family:var(--ff-display); font-weight:700; font-size:22px; color:var(--ink); line-height:1;}
.sticky-note .sn-label{font-family:var(--ff-mono); font-size:10.5px; color:var(--muted); margin-top:5px; text-transform:uppercase; letter-spacing:.04em;}
.sn-1{top:2%; left:-8%; transform:rotate(-6deg);}
.sn-2{bottom:6%; left:-6%; transform:rotate(4deg);}
.sn-3{bottom:5%; right:6%; transform:rotate(-3deg);}

.scroll-cue{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; z-index:3;}
.scroll-cue .line{width:1px; height:32px; background:linear-gradient(rgba(255,255,255,.55), transparent); animation:scrollcue 1.8s infinite;}
@keyframes scrollcue{0%{transform:scaleY(0); transform-origin:top;} 50%{transform:scaleY(1); transform-origin:top;} 51%{transform-origin:bottom;} 100%{transform:scaleY(0); transform-origin:bottom;}}
.scroll-cue span{font-family:var(--ff-mono); font-size:10.5px; letter-spacing:.1em; color:rgba(255,255,255,.45); text-transform:uppercase;}

@media(max-width:1080px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero-visual{height:420px; margin-top:10px;}
  .sn-1{left:0;} .sn-2{left:0;} .sn-3{right:0;}
}
@media(max-width:560px){.hero-visual{height:360px;} .sticky-note{width:140px; padding:10px 12px 13px;}}

/* Torn paper divider between dark and light sections */
.torn{position:relative;}
.torn::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:20px; z-index:5;
  background:
    linear-gradient(-45deg, var(--zig,#F7F6F0) 7px, transparent 0) 0 6px,
    linear-gradient(45deg, var(--zig,#F7F6F0) 7px, transparent 0) 0 6px;
  background-repeat:repeat-x; background-size:14px 14px; background-position:bottom;
}

/* =========================================================
   COURSE SECTION — COMPLETE CSS
========================================================= */

.courses-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}


/* =========================================================
   COURSE CARD
========================================================= */

.course-card {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    min-height: auto;

    padding: 0;

    background: var(--white);

    border: 1px solid var(--line);
    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.035);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.course-card:hover {
    transform: translateY(-6px);

    border-color: rgba(209, 6, 8, .25);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, .09);
}


/* =========================================================
   CARD HEADER
========================================================= */

.cc-head {
    position: relative;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;

  /*  min-height: 170px;*/

    padding: 22px 20px 20px;

    background: #fff;

    border-bottom: 1px dashed var(--line);
}


/* =========================================================
   CATEGORY / TAG
========================================================= */

.cc-section-tag {
    display: block;

    margin: 0 0 7px;

    color: var(--red);

    font-family: var(--ff-mono);

    font-size: 10px;
    font-weight: 700;

    line-height: 1.2;

    letter-spacing: .08em;

    text-transform: uppercase;
}


/* =========================================================
   COURSE TITLE
========================================================= */

.course-title {
    max-width: 100%;

    margin: 0;

    color: var(--ink);

    font-family:
        var(--ff-heading,
        "Space Grotesk",
        sans-serif);

    font-size: 20px;

    font-weight: 700;

    line-height: 1.18;

    letter-spacing: -.02em;
}


/* =========================================================
   COURSE ICON
========================================================= */

.cc-photo {
    position: relative;

    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 0;

    overflow: hidden;

    border-radius: 14px;

    background: #d10608;

    box-shadow:
        0 8px 18px rgba(209, 6, 8, .20);

    transition:
        transform .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}


/* icon background shine */

.cc-photo::before {
    content: "";

    position: absolute;

    width: 72px;
    height: 72px;

    top: -45px;
    right: -30px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .16);
}


/* icon */

.cc-photo i {
    position: relative;
    z-index: 2;

    display: block;

    color: #fff;

    font-size: 19px;

    line-height: 1;

    text-shadow: none;

    transition:
        transform .3s ease;
}


/* icon hover */

.course-card:hover .cc-photo {
    transform: translateY(-4px);

    background: #b90507;

    box-shadow:
        0 13px 25px rgba(209, 6, 8, .28);
}

.course-card:hover .cc-photo i {
    transform: scale(1.08);
}


/* =========================================================
   CARD BODY
========================================================= */

.cc-body {
    flex: 1;

    display: flex;
    flex-direction: column;

    min-width: 0;

    padding: 20px 20px 21px;
}


/* =========================================================
   COURSE DESCRIPTION
========================================================= */

.course-desc {
    min-height: 44px;

    margin: 0 0 18px;

    color: var(--muted);

    font-family:
        var(--ff-body,
        "Inter",
        sans-serif);

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================================
   MCQ / INFORMATION LIST
========================================================= */

.mcq-list {
    display: flex;

    flex-direction: column;

    gap: 11px;

    margin: 0 0 20px;

    padding: 0;

    list-style: none;
}

.mcq-list li {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    margin: 0;

    color: var(--ink);

    font-family:
        var(--ff-body,
        "Inter",
        sans-serif);

    font-size: 16px;

    line-height: 1.5;
}


/* =========================================================
   ROUND LETTER ICON
========================================================= */

.mcq-opt {
    width: 22px;
    height: 22px;

    flex: 0 0 22px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 0;

    border: 1px solid #dfe1e5;

    border-radius: 50%;

    background: #fff;

    color: #8d929a;

    font-family: var(--ff-mono);

    font-size: 9px;

    font-weight: 700;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}

.course-card:hover .mcq-opt {
    border-color: rgba(209, 6, 8, .25);

    background: rgba(209, 6, 8, .05);

    color: var(--red);
}


/* =========================================================
   COURSE LINK
========================================================= */

.course-link {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin-top: auto;

    padding-top: 17px;

    border-top: 1px solid rgba(0, 0, 0, .07);

    color: var(--ink);

    font-family: var(--ff-mono);

    font-size: 12px;

    font-weight: 600;

    line-height: 1.4;

    text-decoration: none;
}

.course-link svg {
    flex: 0 0 auto;

    transition:
        transform .25s ease,
        color .25s ease;
}

.course-card:hover .course-link {
    color: var(--red);
}

.course-card:hover .course-link svg {
    transform: translateX(5px);
}


/* =========================================================
   LONG TITLE FIX
========================================================= */

.course-card:nth-child(1) .course-title,
.course-card:nth-child(2) .course-title,
.course-card:nth-child(3) .course-title,
.course-card:nth-child(4) .course-title {
    line-height: 1.17;
}


/* =========================================================
   LONG DESCRIPTION CARDS
========================================================= */

.course-card:nth-child(2) .course-desc {
    min-height: auto;
}

.course-card:nth-child(5) .course-desc {
    min-height: auto;
}


/* =========================================================
   CARD BUTTON / LINK AREA
========================================================= */

.course-card .course-link {
    margin-top: auto;
}


/* =========================================================
   TABLET — 2 COLUMNS
========================================================= */

@media (max-width: 1199px) {

    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 20px;
    }

    .course-card {
        min-height: 500px;
    }

    .course-title {
        font-size: 22px;
    }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 767px) {
.ment .mentor-cards {
    grid-template-columns: repeat(2, 1fr) !important;
}
.air-dots {
    display: none;
}

    .courses-grid {
        display: grid;

        grid-template-columns: 1fr;

        gap: 16px;
    }

    .course-card {
        min-height: auto;

        border-radius: 16px;
    }

    .cc-head {
        min-height: auto;

        padding: 20px;
    }

    .cc-body {
        padding: 19px 20px 20px;
    }

    .course-title {
        max-width: calc(100% - 56px);

        font-size: 21px;

        line-height: 1.2;
    }

    .course-desc {
        min-height: auto;

        font-size: 13px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .courses-grid {
        gap: 14px;
    }

    .course-card {
        border-radius: 14px;
    }

    .cc-head {
        gap: 12px;

        padding: 18px 17px;
    }

    .cc-body {
        padding: 18px 17px;
    }

    .cc-section-tag {
        font-size: 9px;
    }

    .course-title {
        max-width: calc(100% - 51px);

        font-size: 20px;

        line-height: 1.2;
    }


    /* mobile icon */

    .cc-photo {
        width: 44px;
        height: 44px;

        flex-basis: 44px;

        border-radius: 13px;
    }

    .cc-photo i {
        font-size: 18px;
    }


    /* mobile list */

    .mcq-list {
        gap: 10px;
    }

    .mcq-list li {
        gap: 8px;

        font-size: 13px;
    }

    .mcq-opt {
        width: 21px;
        height: 21px;

        flex-basis: 21px;
    }


    /* mobile link */

    .course-link {
        padding-top: 15px;

        font-size: 11px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .cc-head {
        padding: 16px;
    }

    .cc-body {
        padding: 16px;
    }

    .course-title {
        font-size: 19px;
    }

    .cc-photo {
        width: 42px;
        height: 42px;

        flex-basis: 42px;
    }

}

/* ============ ABOUT ============ */
.about-section{background:var(--paper);}
.about-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center;}
.about-media{position:relative;}
.about-media .main-img{border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-soft); aspect-ratio:4/5.2; border:6px solid var(--white); outline:1.5px solid var(--line);}
.about-media .main-img img{width:100%; height:100%; object-fit:cover;}
.tape{position:absolute; width:64px; height:22px; background:rgba(241,239,230,.85); border:1px solid rgba(0,0,0,.05); box-shadow:0 3px 6px rgba(0,0,0,.1);}
.tape-tl{top:-10px; left:24px; transform:rotate(-8deg);}
.tape-br{bottom:-10px; right:24px; transform:rotate(-8deg);}
.stamp-badge{
  position:absolute; bottom:-24px; left:-50px; width:118px; height:118px; border-radius:50%;
  border:2px dashed var(--red); display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--paper); transform:rotate(-10deg); text-align:center;
}
.stamp-badge .num{font-family:var(--ff-display); font-weight:700; font-size:26px; color:var(--red);}
.stamp-badge .lbl{font-family:var(--ff-mono); font-size:9.5px; color:var(--red-deep); letter-spacing:.05em; text-transform:uppercase; margin-top:2px;}
.since-tag{
  position:absolute; top:20px; right:-18px; background:var(--ink); color:var(--white); font-family:var(--ff-mono);
  font-size:12px; font-weight:600; padding:8px 14px; border-radius:5px; transform:rotate(3deg); box-shadow:var(--shadow-card);
}
.about-content h2{font-size:clamp(28px,3.4vw,42px); margin-bottom:22px;}
.about-content p{color:var(--muted); font-size:16.5px; line-height:1.75; margin-bottom:18px;}
.about-content .btn{margin-top:14px;}
@media(max-width:940px){.about-grid{grid-template-columns:1fr; gap:90px;} .stamp-badge{left:0;} .since-tag{right:0;}}

/* ============ VIDEO ============ */
.video-section{background:var(--ink); padding:110px 0;}
.video-section .section-head h2{color:var(--white);}
.video-section .section-head p{color:rgba(255,255,255,.55);}
.video-frame{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:16/8; box-shadow:0 40px 90px -30px rgba(0,0,0,.7); border:1px solid var(--line-dark);}
.video-frame img{width:100%; height:100%; object-fit:cover; transition:transform .8s;}
.video-frame:hover img{transform:scale(1.04);}
.video-frame::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(27,33,64,.25), rgba(27,33,64,.78));}
.play-btn{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; width:94px; height:94px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; box-shadow:0 20px 40px -14px rgba(214,57,74,.6);}
.play-btn::before{content:''; position:absolute; inset:-3px; border-radius:50%; border:1.5px solid rgba(255,255,255,.6);}
.play-btn::after{content:''; position:absolute; inset:-14px; border-radius:50%; border:1.5px solid rgba(255,255,255,.3); animation:pulse-ring 2.4s infinite;}
.play-btn svg{width:26px; height:26px; margin-left:4px;}
@keyframes pulse-ring{0%{transform:scale(.82); opacity:1;} 100%{transform:scale(1.45); opacity:0;}}
.video-caption{text-align:center; font-family:var(--ff-hand); font-weight:700; font-size:28px; color:var(--white); margin-top:36px;}

/* ============ STATS — scorecard ============ */
.stats-section{background:var(--ink); position:relative;}
.stats-section .section-head h2{color:var(--white);}
.stats-section .section-head p{color:rgba(255,255,255,.55);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.stat-cell{background:var(--ink-2); border:1.5px dashed var(--line-dark); border-radius:var(--radius-md); padding:30px 24px; text-align:left; position:relative;}
.stat-cell .sc-tag{font-family:var(--ff-mono); font-size:10.5px; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; display:block;}
.stat-num{font-family:var(--ff-mono); font-weight:700; font-size:clamp(32px,3.6vw,44px); color:var(--white); display:flex; align-items:baseline; gap:2px;}
.stat-num .suffix{color:var(--green);}
.stat-title{font-family:var(--ff-display); font-weight:700; font-size:15px; color:var(--white); margin:10px 0 4px;}
.stat-sub{font-size:12.5px; color:rgba(255,255,255,.45);}
.stat-check{position:absolute; top:22px; right:22px; width:24px; height:24px; border-radius:50%; background:var(--green-soft); display:flex; align-items:center; justify-content:center;}
@media(max-width:768px){.stats-grid{grid-template-columns:1fr 1fr;}}

/* ============ WHY CHOOSE — checklist ============ */
.why-section{background:var(--paper);}
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.why-card{background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius-md); padding:30px 26px; transition:border-color .35s, transform .35s;}
.why-card:hover{border-color:var(--green); transform:translateY(-6px);}
.wc-top{display:flex; align-items:center; gap:12px; margin-bottom:18px;}
.wc-check{width:26px; height:26px; border-radius:50%; border:1.5px solid var(--line); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all .35s;}
.wc-check svg{opacity:0; transform:scale(.5); transition:all .35s;}
.why-card:hover .wc-check{background:var(--green); border-color:var(--green);}
.why-card:hover .wc-check svg{opacity:1; transform:scale(1);}
.wc-icon{width:42px; height:42px; border-radius:10px; background:var(--red-soft); display:flex; align-items:center; justify-content:center;}
.why-card h3{font-size:18.5px; margin-bottom:9px;}
.why-card p{color:var(--muted); font-size:14px; line-height:1.6;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}}

/* ============ TOPPERS — admit card / hall ticket ============ */
.toppers-section{background:var(--white);}
.toppers-row{display:flex; gap:22px; overflow-x:auto; padding-bottom:18px; scroll-snap-type:x mandatory;}
.toppers-row::-webkit-scrollbar{height:6px;}
.toppers-row::-webkit-scrollbar-thumb{background:var(--line); border-radius:6px;}
.admit-card{
  min-width:320px; scroll-snap-align:start; display:flex; background:var(--paper);
  border:1.5px solid var(--ink); border-radius:12px; overflow:hidden; position:relative;
  transition:transform .4s, box-shadow .4s;
}
.admit-card:hover{transform:translateY(-8px); box-shadow:var(--shadow-card);}
.ac-stub{
  width:120px; flex-shrink:0; background:var(--ink); position:relative; display:flex; flex-direction:column;
  align-items:center; justify-content:center; padding:14px 8px; border-right:2px dashed rgba(255,255,255,.25);
}
.ac-stub img{width:100px; height:100px; border-radius:6px; object-fit:cover; border:2px solid rgba(255,255,255,.6); margin-bottom:10px;}
.ac-stub .ac-rank{font-family:var(--ff-mono); font-weight:700; font-size:11px; color:var(--green); text-align:center; line-height:1.3;}
.ac-stub::before,.ac-stub::after{content:''; position:absolute; right:-8px; width:16px; height:16px; border-radius:50%; background:var(--white);}
.ac-stub::before{top:-8px;}
.ac-stub::after{bottom:-8px;}
.ac-main{padding:18px 20px; flex-grow:1;}
.ac-head{font-family:var(--ff-mono); font-size:10px; letter-spacing:.08em; color:var(--muted-light); text-transform:uppercase; margin-bottom:10px; display:flex; justify-content:space-between;}
.ac-name{font-family:var(--ff-display); font-weight:700; font-size:18px; margin-bottom:10px;}
.ac-field{display:flex; justify-content:space-between; font-family:var(--ff-mono); font-size:11.5px; padding:5px 0; border-top:1px dashed var(--line);}
.ac-field span:first-child{color:var(--muted-light);}
.ac-field span:last-child{color:var(--ink); font-weight:600;}
.toppers-footer{display:flex; justify-content:center; margin-top:44px;}

/* ============ STUDENT TESTIMONIALS — handwritten notes ============ */
.testi-section{background:var(--ink); overflow:hidden;}
.testi-section .section-head h2{color:var(--white);}
.testi-section .section-head p{color:rgba(255,255,255,.5);}
/*.testi-track-wrap{position:relative;}
.testi-track{display:flex; gap:24px; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.testi-card{
  min-width:calc(33.333% - 16px); background:var(--paper); border-radius:4px; padding:28px 26px 24px;
  display:flex; flex-direction:column; position:relative; box-shadow:0 20px 40px -20px rgba(0,0,0,.4);
}*/
.testi-card::before{content:''; position:absolute; top:-8px; left:24px; width:40px; height:16px; background:rgba(214,57,74,.28); border:1px solid rgba(214,57,74,.4); transform:rotate(-3deg);}
.testi-card p{font-family:var(--ff-hand); font-weight:600; color:var(--ink); font-size:22px; line-height:1.4; margin-bottom:22px; flex-grow:1;}
.testi-person{display:flex; align-items:center; gap:11px; border-top:1px dashed var(--line); padding-top:14px;}
.testi-person img{width:42px; height:42px; border-radius:50%; object-fit:cover;}
.testi-person .tp-name{font-family:var(--ff-body); font-weight:700; color:var(--ink); font-size:13.5px;}
.testi-person .tp-meta{font-family:var(--ff-mono); font-size:11px; color:var(--red);}
.testi-controls{display:flex; justify-content:center; gap:12px; margin-top:40px;}
.testi-controls button{width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(255,255,255,.2); color:#fff; display:flex; align-items:center; justify-content:center; transition:.3s;}
.testi-controls button:hover{background:var(--red); border-color:var(--red); color:var(--white);}
.testi-track-wrap{
    position:relative;
    overflow:hidden;
    width:100%;
}

.testi-track{
    display:flex;
    gap:24px;
    align-items:stretch;
}

.testi-card{
    flex:0 0 calc((100% - 48px)/3);
    background:#f8f4ea;
    border-radius:20px;
    padding:28px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
 /*   min-height:300px;*/
}

.testi-card img{
    border: 1px solid #000;
    object-fit:cover;
    display:block;
}
@media(max-width:900px){.testi-card{min-width:calc(50% - 12px);}}
@media(max-width:600px){.testi-card{min-width:100%;}}

/* ============ PARENT TRUST — feedback form style ============ */
.parent-section{background:var(--paper-2);}
.parent-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}
.parent-card{background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius-md); padding:28px 30px;}
.pc-head{display:flex; justify-content:space-between; align-items:center; font-family:var(--ff-mono); font-size:10.5px; color:var(--muted-light); text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; padding-bottom:14px; border-bottom:1px dashed var(--line);}
.parent-card p{color:var(--ink); font-size:15.5px; line-height:1.7; margin-bottom:20px;}
.parent-person{display:flex; align-items:center; gap:12px;}
.parent-person img{width:48px; height:48px; border-radius:50%; object-fit:cover;}
.parent-person .pp-name{font-weight:700; font-size:14px;}
.parent-person .pp-meta{font-family:var(--ff-mono); font-size:11.5px; color:var(--muted);}
@media(max-width:820px){.parent-grid{grid-template-columns:1fr;}}

/* ============ ANNOUNCEMENTS — notice board ============ */
.announce-section{background:var(--white);}
.announce-row{display:flex; gap:20px; overflow-x:auto; padding-bottom:16px;}
.announce-card{
  min-width:290px; background:var(--paper); border:1.5px solid var(--line); border-radius:var(--radius-sm); padding:24px;
  transition:transform .3s, border-color .3s; position:relative;
}
.announce-card:hover{transform:translateY(-6px) rotate(-.6deg); border-color:var(--ink);}
.pin{position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:14px; height:14px; border-radius:50%; background:var(--red); box-shadow:0 3px 6px rgba(0,0,0,.25);}
.announce-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; font-family:var(--ff-mono);}
.announce-cat{font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--red);}
.announce-date{font-size:11px; color:var(--muted-light);}
.new-stamp{position:absolute; top:14px; right:14px; border:1.5px solid var(--green); color:var(--green); font-family:var(--ff-mono); font-size:9.5px; font-weight:700; padding:3px 8px; border-radius:4px; transform:rotate(-8deg);}
.announce-card h4{font-size:16.5px; margin-bottom:8px; line-height:1.35;}
.announce-card p{font-size:13.5px; color:var(--muted); line-height:1.6; margin-bottom:16px;}
.announce-card .read-more{font-family:var(--ff-mono); font-size:12px; font-weight:600; color:var(--ink); text-decoration:underline; text-underline-offset:3px;}

/* ============ RESOURCES — syllabus checklist ============ */
.resources-section{background:var(--ink); position:relative;}
.resources-section .section-head h2{color:var(--white);}
.resources-section .section-head p{color:rgba(255,255,255,.5);}
.res-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.res-card{background:var(--ink-2); border:1.5px dashed var(--line-dark); border-radius:var(--radius-sm); padding:24px; display:flex; align-items:center; gap:15px; transition:all .3s;}
.res-card:hover{border-color:var(--red); border-style:solid; transform:translateY(-4px);}
.res-check{width:22px; height:22px; border-radius:5px; border:1.5px solid rgba(255,255,255,.25); flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.res-card h4{color:var(--white); font-size:14.5px; margin-bottom:2px;}
.res-card span{font-family:var(--ff-mono); font-size:11px; color:rgba(255,255,255,.4);}
@media(max-width:900px){.res-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.res-grid{grid-template-columns:1fr;}}

/* ============ BLOG ============ */
.blog-section{background:var(--white);}
.blog-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.blog-card{background:var(--white); border-radius:var(--radius-md); overflow:hidden; border:1.5px solid var(--line); transition:transform .35s, box-shadow .35s;}
.blog-card:hover{transform:translateY(-7px); box-shadow:var(--shadow-card);}
.blog-img{aspect-ratio:4/3; overflow:hidden;}
.blog-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s;}
.blog-card:hover .blog-img img{transform:scale(1.07);}
.blog-body{padding:20px 20px 22px;}
.blog-meta{font-family:var(--ff-mono); font-size:11px; color:var(--red); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
.blog-meta span.sep{color:var(--muted-light); margin:0 6px;}
.blog-meta span.rt{color:var(--muted-light); text-transform:none;}
.blog-body h4{font-size:16px; line-height:1.4; margin-bottom:10px;}
.blog-body p{font-size:13.5px; color:var(--muted); line-height:1.6; margin-bottom:14px;}
.blog-body .read-more{font-family:var(--ff-mono); font-size:12px; font-weight:600; color:var(--ink); text-decoration:underline; text-underline-offset:3px;}
@media(max-width:1024px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;}}

/* ============ FINAL CTA ============ */
.final-cta{background:rgba(247,246,240,.86); position:relative; overflow:hidden; padding:60px 0; text-align:center;}
.final-cta h2{font-size:clamp(32px,4.6vw,32px); color:var(--ink); max-width:760px; margin:0 auto 20px;}
.final-cta p{color:var(--ink); font-size:17px; max-width:560px; margin:0 auto 40px; line-height:25px;}
.final-cta-ctas{display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-bottom:26px; position:relative; z-index:2;}
.final-cta .trust-msg{font-family:var(--ff-mono); font-size:12.5px; color:rgba(255,255,255,.4); position:relative; z-index:2;}

/* ============ CONTACT — fill-in-the-blank form ============ */
.contact-section{background:var(--white);}
.contact-grid{display:grid; grid-template-columns:1fr 1.15fr; gap:56px;}
.contact-side h2{font-size:clamp(28px,3.2vw,38px); margin-bottom:18px;}
.contact-side p{color:var(--muted); font-size:16px; line-height:1.7; margin-bottom:34px;}
.contact-methods{display:flex; flex-direction:column; gap:14px;}
.contact-method{display:flex; align-items:center; gap:16px; padding:16px 18px; border:1.5px solid var(--line); border-radius:10px; transition:border-color .3s, transform .3s;}
.contact-method:hover{border-color:var(--red); transform:translateX(6px);}
.cm-icon{width:42px; height:42px; border-radius:10px; background:var(--red-soft); color:var(--red-deep); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.cm-text .cm-title{font-weight:700; font-size:14px;}
.cm-text .cm-sub{font-family:var(--ff-mono); font-size:12px; color:var(--muted);}

.enquiry-form{background:var(--paper); border-radius:var(--radius-lg); padding:38px; border:1.5px solid var(--line);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:22px;}
.form-group{display:flex; flex-direction:column; gap:8px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-family:var(--ff-mono); font-size:11px; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.04em;}
.form-group input, .form-group select, .form-group textarea{
  padding:10px 2px; border:none; border-bottom:1.5px solid var(--line); border-radius:0; font-family:inherit; font-size:15px;
  background:transparent; transition:border-color .3s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none; border-color:var(--red);}
.form-group textarea{resize:vertical; min-height:70px;}
.enquiry-form .btn{width:100%; justify-content:center; margin-top:8px; border-radius:8px;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.form-row{grid-template-columns:1fr;}}

/* ============ FOOTER ============ */
footer{background:var(--ink); padding:80px 0 30px; color:rgba(255,255,255,.55);}
.footer-grid{display:grid; grid-template-columns:1.4fr .9fr .9fr .9fr 1.1fr; gap:36px; padding-bottom:56px; border-bottom:1px solid var(--line-dark);}
.footer-brand .logo-word{margin-bottom:16px; display:inline-block; color:var(--white);}
.footer-brand p{font-size:14px; line-height:1.7; max-width:280px; margin-bottom:22px;}
.social-row{display:flex; gap:10px;}
.social-row a{width:36px; height:36px; border-radius:50%; border:1px solid var(--line-dark); display:flex; align-items:center; justify-content:center; transition:.3s;}
.social-row a:hover{background:var(--red); border-color:var(--red); color:var(--white);}
.footer-col h5{font-family:var(--ff-mono); text-transform:uppercase; letter-spacing:.05em; color:var(--white); font-size:12.5px; margin-bottom:20px;}
.footer-col ul{display:flex; flex-direction:column; gap:12px;}
.footer-col a{font-size:14px; transition:color .3s;}
.footer-col a:hover{color:var(--red);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-family:var(--ff-mono); font-size:12px; flex-wrap:wrap; gap:14px;}
.footer-bottom .legal-links{display:flex; gap:22px;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ============ STICKY MOBILE CTA ============ */
.sticky-mobile-cta{display:none; position:fixed; bottom:0; left:0; right:0; z-index:900; background:var(--white); border-top:1.5px solid var(--line); padding:12px 16px; gap:10px;}
.sticky-mobile-cta a{flex:1; text-align:center; padding:13px; border-radius:8px; font-family:var(--ff-display); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; gap:6px;}
.sticky-mobile-cta a.call{background:var(--paper); color:var(--ink); border:1.5px solid var(--line);}
.sticky-mobile-cta a.whatsapp{background:var(--green); color:#fff;}
.sticky-mobile-cta a.enquire{background:var(--red); color:#fff;}
@media(max-width:768px){.sticky-mobile-cta{display:flex;} body{padding-bottom:70px;}}

/* ============ REVEAL ============ */
.reveal{opacity:0; transform:translateY(34px); transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger.in > *{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(26px); transition:opacity .65s ease, transform .65s ease;}
.reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.13s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.21s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.29s;}
.reveal-stagger.in > *:nth-child(5){transition-delay:.37s;}
.reveal-stagger.in > *:nth-child(6){transition-delay:.45s;}

@media(prefers-reduced-motion:reduce){*{animation:none !important; transition:none !important;} .reveal,.reveal-stagger>*{opacity:1; transform:none;}}
.hero-visual{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:flex-end;
    min-height:500px;
}

.hero-student{
    width:520px;
    max-width:100%;
    display:block;
    object-fit:contain;
    animation:floatStudent 5s ease-in-out infinite;
    z-index:2;
}

@keyframes floatStudent{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0);
    }

}

.sn-1{
    position:absolute;
    left:20px;
    top:40px;
}

.sn-2{
    position:absolute;
    left:40px;
    bottom:80px;
}




/* ============ INNER PAGE HERO (sub-pages) ============ */
.inner-hero{background:var(--ink); position:relative; overflow:hidden; padding:130px 0 70px; text-align:center;}
.inner-hero .dark-ruled{position:absolute; inset:0; mask-image:linear-gradient(180deg, transparent, black 30%, black 80%, transparent);}
.inner-hero .hero-blob{position:absolute; border-radius:50%; filter:blur(100px); opacity:.28; pointer-events:none;}
.inner-hero .eyebrow{justify-content:center;}
.inner-hero h1{font-size:clamp(32px,4.4vw,40px); color:var(--white); margin-bottom:16px; position:relative; z-index:2;}
.inner-hero p{color:rgba(255,255,255,.6); font-size:16.5px; max-width:620px; margin:0 auto; position:relative; z-index:2; line-height:1.7;}
.breadcrumb{font-family:var(--ff-mono); font-size:12.5px; color:rgba(255,255,255,.45); margin-top:18px; position:relative; z-index:2;}
.breadcrumb a{color:rgba(255,255,255,.7);}
.breadcrumb a:hover{color:var(--red);}

/* ============ RULES / TEXT CONTENT LIST ============ */
.doc-section{background:var(--white);}
.doc-block{max-width:100%; margin:0 0 60px;}
.doc-block h3{font-size:24px; margin-bottom:18px; display:flex; align-items:center; gap:12px;}
.doc-block h3 .qn{border:1.5px solid var(--red); color:var(--red); border-radius:4px; padding:3px 9px; font-family:var(--ff-mono); font-size:13px; font-weight:700;}
.doc-list{display:flex; flex-direction:column; gap:14px; counter-reset:doc;}
.doc-list li{list-style:none;font-size:15px; line-height:1.7; color:var(--muted); padding:16px 18px; background:var(--paper); border:1.5px solid var(--line); border-radius:var(--radius-sm); transition:border-color .3s, transform .3s;}
.doc-list li:hover{border-color:var(--red); transform:translateX(4px);}
.doc-list li .num{font-family:var(--ff-display); font-weight:700; color:var(--red); flex-shrink:0; min-width:26px;}
.refund-table{width:100%; border-collapse:collapse; margin-top:10px; font-size:13.5px;}
.refund-table th, .refund-table td{border:1.5px solid var(--line); padding:12px 14px; text-align:center;}
.refund-table th{background:var(--ink); color:var(--white); font-family:var(--ff-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.04em;}
.refund-table td:first-child{text-align:left; font-weight:600; color:var(--ink);}

/* ============ RANKING / LEADERBOARD ============ */
.rank-filter{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:44px;}
.rank-filter button{font-family:var(--ff-mono); font-weight:600; font-size:13px; padding:10px 20px; border-radius:100px; border:1.5px solid var(--line); color:var(--muted); transition:.3s;}
.rank-filter button.active, .rank-filter button:hover{background:var(--ink); border-color:var(--ink); color:var(--white);}
.rank-table-wrap{background:var(--white); border:1.5px solid var(--line); overflow:hidden; box-shadow:var(--shadow-card);}
.rank-table{width:100%; border-collapse:collapse;}
.rank-table thead th{background:var(--ink); color:var(--white); font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; padding:18px 20px; text-align:left;}
.rank-table tbody tr{border-bottom:1px solid var(--line); transition:background .3s;}
.rank-table tbody tr:hover{background:var(--paper);}
.rank-table tbody tr:last-child{border-bottom:none;}
.rank-table td{padding:16px 20px; font-size:14.5px; color:var(--ink);}
.rank-pos{font-family:var(--ff-display); font-weight:700; font-size:18px; color:var(--red); width:70px;}
.rank-pos.gold{color:#B8860B;}
.rank-student{display:flex; align-items:center; gap:12px; font-weight:700;}
.rank-student img{width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid var(--line);}
.rank-score{font-family:var(--ff-mono); font-weight:700; color:var(--green);}
.rank-badge{display:inline-block; font-family:var(--ff-mono); font-size:10.5px; font-weight:700; padding:4px 10px; border-radius:100px; background:var(--red-soft); color:var(--red-deep);}
@media(max-width:820px){.rank-table thead{display:none;} .rank-table, .rank-table tbody, .rank-table tr, .rank-table td{display:block; width:100%;} .rank-table tr{padding:16px 20px; border-bottom:1px solid var(--line);} .rank-table td{padding:5px 0; display:flex; justify-content:space-between; align-items:center;} .rank-table td::before{content:attr(data-label); font-family:var(--ff-mono); font-size:10.5px; color:var(--muted-light); text-transform:uppercase;}}

/* ============ SIMPLE INTRO / TWO COL TEXT ============ */
.intro-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.intro-grid p{color:var(--muted); font-size:16px; line-height:1.8; margin-bottom:16px;}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;}}

/* Anchor scroll offset for in-page jump targets on sub-pages */
.anchor-target{scroll-margin-top:110px;}

/* =========================================================
   REGULAR COURSES - TAB LAYOUT
========================================================= */

.regular-courses-section {
    padding: 70px 0;
    background: var(--paper);
}

.regular-course-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}


/* =========================================================
   LEFT SIDEBAR
========================================================= */

.course-sidebar {
    position: sticky;
    top: 100px;
    width: 100%;
}

.course-sidebar-title {
    background: var(--red);
    color: #fff;
    text-align: center;
    font-size: 27px;
    font-weight: 700;
    letter-spacing: 1px;

    padding: 17px 12px;
    position: relative;
    overflow: hidden;
}

.course-sidebar-title::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.08) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255,255,255,.05) 50%,
            rgba(255,255,255,.05) 75%,
            transparent 75%
        );

    background-size: 35px 35px;
    opacity: .6;
}


.course-menu {
    border: 1px solid rgba(0,0,0,.10);
    border-top: 0;
    background: #fff;
}


/* =========================================================
   GROUP
========================================================= */

.course-group {
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.course-group:last-child {
    border-bottom: 0;
}

.course-group-title {
    padding: 13px 16px 8px;
    font-size: 14px;
    font-weight: 700;

    color: var(--text);
}


/* =========================================================
   COURSE TAB
========================================================= */

.course-tab {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 13px 15px;

    border: 0;
    border-top: 1px solid rgba(0,0,0,.07);

    background: #fff;

    color: #333;
    font-size: 14px;

    text-align: left;
    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease,
        padding-left .25s ease;
}

.course-tab span {
    display: block;
    padding-right: 10px;
}

.course-tab i {
    width: 20px;
    flex: 0 0 20px;

    text-align: center;

    font-size: 13px;
}

.course-tab:hover {
    background: #f5f5f5;
    color: var(--red);
}

.course-tab.active {
    background: #33383d;
    color: #fff;
}

.course-tab.active:hover {
    background: #33383d;
    color: #fff;
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.course-content {
    min-width: 0;

    background: #fff;

    border: 1px solid rgba(0,0,0,.12);

    padding: 35px 38px;
}


/* =========================================================
   TAB PANEL
========================================================= */

.course-panel {
    display: none;

    animation: courseFade .3s ease;
}

.course-panel.active {
    display: block;
}

@keyframes courseFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   COURSE HEADING
========================================================= */

.course-heading {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    margin-bottom: 25px;

    padding-bottom: 20px;

    border-bottom: 1px solid rgba(0,0,0,.10);
}

.course-number {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--red);
    color: #fff;
    font-size: 13px;
    font-weight: 700;

    border-radius: 3px;
}

.course-heading h2 {
    margin: 0;

    color: var(--text);
    font-size: 30px;
    line-height: 1.25;
}

.course-heading p {
    margin: 6px 0 0;

    color: var(--red);
    font-size: 14px;
}


/* =========================================================
   BASIC COURSE INFO
========================================================= */

.course-info {
    margin-bottom: 30px;
}

.course-info p {
    margin: 0 0 9px;

    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}

.course-info strong {
    color: var(--text);
}


/* =========================================================
   CONTENT SECTION
========================================================= */

.course-section {
    margin-bottom: 35px;
}

.course-section:last-child {
    margin-bottom: 0;
}

.course-section h3 {
    margin: 0 0 17px;

    color: var(--text);
    font-size: 22px;
    line-height: 1.35;
}

.course-section h4 {
    margin: 22px 0 14px;

    color: var(--text);
    font-size: 18px;
}


/* =========================================================
   COURSE LIST
========================================================= */

.course-list {
    margin: 0;
    list-style: disc;
    padding-left: 21px;
}

.course-list li {
    margin-bottom: 8px;

    color: #444;
    font-size: 15px;
    line-height: 1.65;
}

.course-list li:last-child {
    margin-bottom: 0;
}

.course-list li::marker {
    color: var(--red);
}

.course-list.numbered {
    padding-left: 25px;
}

.course-list.numbered li {
    padding-left: 3px;
}

.course-list.numbered li::marker {
    font-weight: 700;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.course-description {
    margin: 0 0 18px;

    color: #555;
    font-size: 15px;
    line-height: 1.8;
}

.course-description strong {
    color: var(--text);
}


/* =========================================================
   METHODOLOGY TABLE
========================================================= */

.methodology-table-wrap,
.fee-table-wrap,
.scholarship-table-wrap {
    width: 100%;
    overflow-x: auto;

    -webkit-overflow-scrolling: touch;
}

.methodology-table,
.fee-table,
.scholarship-table {
    width: 100%;
    border-collapse: collapse;
}

.methodology-table {
    min-width: 600px;
}

.methodology-table th {
    padding: 13px 15px;

    background: #343a40;
    color: #fff;

    font-size: 14px;
    font-weight: 600;

    text-align: left;

    border: 1px solid #343a40;
}

.methodology-table td {
    padding: 12px 15px;

    color: #555;

    font-size: 14px;
    line-height: 1.6;

    border: 1px solid #d7d7d7;
}

.methodology-table tr:nth-child(even) td {
    background: #f7f7f7;
}

.exam-phase-title {
    margin-top: 28px !important;
}


/* =========================================================
   FEE DETAILS
========================================================= */

.course-table-title {
    padding: 10px 15px;

    background: #343a40;
    color: #fff;

    text-align: center;
    font-size: 17px;
    font-weight: 700;

    letter-spacing: .3px;
}

.fee-table {
    min-width: 600px;
}

.fee-table td {
    padding: 11px 14px;

    border: 1px solid #d6d9dc;

    color: #555;

    font-size: 14px;
    line-height: 1.5;
}

.fee-table td:first-child {
    width: 65%;
}

.fee-table td:last-child {
    font-weight: 600;
    color: #333;
}

.fee-table tr:nth-child(even) td {
    background: #f3f4f5;
}


/* =========================================================
   COURSE NOTE
========================================================= */

.course-note {
    margin-top: 18px;
}

.course-note p {
    margin: 0 0 8px;

    color: #555;

    font-size: 14px;
    line-height: 1.7;
}

.course-note p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SCHOLARSHIP
========================================================= */

.scholarship-table {
    max-width: 600px;
}

.scholarship-table th {
    padding: 12px 15px;

    background: #343a40;
    color: #fff;

    text-align: left;

    font-size: 14px;
}

.scholarship-table td {
    padding: 11px 15px;

    border: 1px solid #d6d9dc;

    color: #555;

    font-size: 14px;
}

.scholarship-table td:last-child {
    font-weight: 600;
}

.scholarship-table tr:nth-child(even) td {
    background: #f3f4f5;
}


/* =========================================================
   EMPTY PANEL
========================================================= */

.empty-course-message {
    min-height: 200px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #777;
    font-size: 16px;

    border: 1px dashed #ccc;
    background: #fafafa;
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 991px) {

    .regular-course-layout {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 20px;
    }

    .course-content {
        padding: 28px;
    }

    .course-heading h2 {
        font-size: 26px;
    }

    .course-section h3 {
        font-size: 20px;
    }

    .course-tab {
        font-size: 13px;
        padding: 12px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .regular-courses-section {
        padding: 45px 0;
    }

    .regular-course-layout {
        display: block;
    }

    .course-sidebar {
        position: static;
        margin-bottom: 20px;
    }

    .course-sidebar-title {
        font-size: 23px;
        padding: 14px;
    }

    .course-menu {
        display: block;
    }

    .course-group-title {
        padding: 12px 14px 7px;
        font-size: 13px;
    }

    .course-tab {
        padding: 13px 14px;
        font-size: 13px;
    }

    .course-content {
        padding: 23px 18px;
    }

    .course-heading {
        gap: 10px;
    }

    .course-number {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        font-size: 11px;
    }

    .course-heading h2 {
        font-size: 23px;
    }

    .course-heading p {
        font-size: 12px;
    }

    .course-section {
        margin-bottom: 28px;
    }

    .course-section h3 {
        font-size: 19px;
    }

    .course-list li {
        font-size: 14px;
        line-height: 1.65;
    }

    .course-description {
        font-size: 14px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .course-sidebar-title {
        font-size: 21px;
    }

    .course-tab {
        font-size: 12px;
    }

    .course-content {
        padding: 20px 14px;
    }

    .course-heading h2 {
        font-size: 21px;
    }

    .course-heading {
        padding-bottom: 15px;
        margin-bottom: 20px;
    }

    .course-section h3 {
        font-size: 18px;
    }

    .course-section h4 {
        font-size: 16px;
    }

    .course-list {
        padding-left: 18px;
    }

    .course-list li {
        font-size: 13px;
    }

}

/* =========================================
   MEET YOUR MENTORS
========================================= */

.mentor-section {
    background: var(--paper);
}


/* Section Heading */

.mentor-section .section-head {
    max-width: 850px;
    margin-bottom: 45px;
}

.mentor-section .section-head h2 {
    margin-bottom: 14px;
}


/* =========================================
   MENTOR GRID - 4 IN ONE ROW
========================================= */

.mentor-cards {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 22px;
    align-items: stretch;
}
.mentor-number {
    font-size: 13px;
    margin-bottom: 20px;
}
.ment .mentor-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    align-items: stretch;
}


/* =========================================
   MENTOR CARD
========================================= */

.mentor-card {
    position: relative;
    overflow: hidden;

    background: var(--paper-2);

    border: 1px solid rgba(0, 0, 0, 0.10);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.mentor-card:hover {
    transform: translateY(-7px);

    border-color: rgba(179, 43, 59, 0.35);

    box-shadow:
        0 20px 45px rgba(0, 0, 0, 0.12);
}


/* =========================================
   IMAGE
========================================= */

.mentor-card-image {
    position: relative;

    width: 100%;
    overflow: hidden;

    background: #eeeeee;
}

.mentor-card-image img {
    display: block;
 transform: scale(1.03);
    width: 100%;
    /*height: 100%;*/

    object-fit: cover;

    object-position: center;

    transition: transform 0.45s ease;
}

.mentor-card:hover .mentor-card-image img {
    transform: scale(1.05);
}


/* Subject Badge */

.mentor-subject {
    position: absolute;

    left: 14px;
    bottom: 14px;

    padding: 7px 12px;

    background: var(--red);

    color: #fff;

    font-family: "JetBrains Mono", monospace;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.5px;

    text-transform: uppercase;
}


/* =========================================
   CARD CONTENT
========================================= */

.mentor-card-content {
    padding: 20px 10px 22px;

    text-align: center;
}

.mentor-card-content h3 {
    margin: 0 0 6px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;

    font-size: 16px;

    line-height: 1.2;
}

.mentor-card-content p {
    margin: 0 0 8px;

    color: var(--muted);

    font-family: "Inter", sans-serif;

    font-size: 13px;
}

.mentor-role {
    color: var(--red);

    font-family: "JetBrains Mono", monospace;

    font-size: 11px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.5px;
}


/* =========================================
   KNOW MORE BUTTON
========================================= */

.mentor-more-btn {
    display: flex;

    justify-content: center;
    align-items: center;

    margin-top: 38px;
}

.mentor-more-btn .btn {
    min-width: 150px;

    justify-content: center;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .mentor-cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .mentor-card-image {
        height: 300px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .mentor-section .section-head {
        margin-bottom: 30px;
    }

    .mentor-card-image {
        height: auto !important;
    }

    .mentor-card-content {
        padding: 18px;
    }

    .mentor-card-content h3 {
        font-size: 14px;
    }

    .mentor-more-btn {
        margin-top: 30px;
    }

}
/* =========================================================
   AIR RANK SLIDER
========================================================= */

.air-section{
    background:var(--white);
    overflow:hidden;
}


/* Slider wrapper */

.air-slider-wrap{
    position:relative;
    width:100%;
}


/* Slider */

.air-slider{
    display:flex;
    gap:20px;

    overflow:hidden;

    scroll-behavior:smooth;

    cursor:grab;
}

.air-slider:active{
    cursor:grabbing;
}


/* Each slide */

.air-slide{
    flex: 0 0 calc((100% - 80px) / 5);

    min-width:0;
}


/* Card */

.air-card{
    background:var(--paper);

    border:1.5px solid var(--line);

    border-radius:16px;

    overflow:hidden;

    position:relative;

    height:100%;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.air-card:hover{
    transform:translateY(-8px);

    border-color:var(--ink);

    box-shadow:var(--shadow-card);
}


/* Image */

.air-photo{
    position:relative;

    overflow:hidden;

    background:var(--paper-2);
}

.air-photo img{
 /*transform: scale(1.03);*/
    display:block;
    width:100%;
    height:260px;
    border-radius: 15px 15px 0px 0px;
    border: 2px solid #000;
    transition:transform .6s ease;
}

.air-card:hover .air-photo img{
    transform:scale(1.07);
}


/* Image overlay */

.air-photo::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:35%;

    background:linear-gradient(
        to top,
        rgba(23,53,47,.28),
        transparent
    );

    pointer-events:none;
}


/* AIR badge */

.air-rank{
    position:absolute;

    left:16px;
    bottom:16px;

    width:78px;
    height:78px;

    border-radius:50%;

    background:var(--ink);

    color:#fff;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    border:3px solid #fff;

    box-shadow:0 12px 25px rgba(0,0,0,.22);

    transform:rotate(-5deg);

    z-index:3;
}

.air-rank span{
    font-family:var(--ff-mono);

    font-size:7px;

    letter-spacing:.08em;

    color:rgba(255,255,255,.6);

    text-transform:uppercase;
}

.air-rank strong{
    font-family:var(--ff-display);

    font-size:16px;

    line-height:1;

    color:var(--red);

    margin-top:3px;
}


/* Content */

.air-content{
    padding:20px 20px 22px;
}

.air-top{
    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:10px;

    font-family:var(--ff-mono);

    font-size:9.5px;

    font-weight:700;

    letter-spacing:.05em;

    color:var(--red);
}

.air-top i{
    width:30px;
    height:30px;

    border-radius:50%;

    background:var(--red-soft);

    color:var(--red-deep);

    display:flex;

    align-items:center;
    justify-content:center;

    font-size:12px;
}

.air-content h3{
    font-size:16px;

    margin-bottom:16px;

    line-height:1.2;
}


/* Info */

.air-info{
    display: none;

    grid-template-columns:1fr 1fr;

    border-top:1px dashed var(--line);

    padding-top:13px;

    gap:12px;
}

.air-info div{
    display:flex;

    flex-direction:column;

    gap:4px;
}

.air-info span{
    font-family:var(--ff-mono);

    font-size:9px;

    text-transform:uppercase;

    color:var(--muted-light);

    letter-spacing:.05em;
}

.air-info strong{
    font-family:var(--ff-display);

    font-size:13px;

    color:var(--ink);
}


/* =========================================================
   CONTROLS
========================================================= */

.air-controls{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

    margin-top:38px;
}


.air-controls button{
    width:44px;
    height:44px;

    border-radius:50%;

    border:1.5px solid var(--line);

    background:var(--white);

    color:var(--ink);

    display:flex;

    align-items:center;
    justify-content:center;

    transition:
        background .3s,
        color .3s,
        border-color .3s,
        transform .3s;
}

.air-controls button:hover{
    background:var(--ink);

    color:var(--white);

    border-color:var(--ink);

    transform:translateY(-2px);
}


/* Dots */

.air-dots{
    display:none;

    align-items:center;

    gap:7px;
}

.air-dot{
    width:8px;
    height:8px;

    border-radius:50%;

    border:1.5px solid var(--line);

    background:transparent;

    transition:.3s;

    cursor:pointer;
}

.air-dot.active{
    width:24px;

    border-radius:6px;

    background:var(--red);

    border-color:var(--red);
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1050px){

    .air-slide{
        flex:0 0 calc((100% - 20px) / 2);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    .air-slider{
        gap:16px;

        overflow:hidden;
    }

    .air-slide{
        flex:0 0 100%;
    }

    .air-card{
        display:grid;

        grid-template-columns:150px 1fr;

        min-height:210px;
    }

    .air-photo{
        aspect-ratio:auto;

        height:100%;

        min-height:210px;
    }

    .air-photo img{
        height:100%;
    }

    .air-rank{
        width:62px;
        height:62px;

        left:10px;
        bottom:10px;
    }

    .air-rank span{
        font-size:7px;
    }

    .air-rank strong{
        font-size:19px;
    }

    .air-content{
        padding:18px 16px;

        display:flex;

        flex-direction:column;

        justify-content:center;
    }

    .air-content h3{
        font-size:18px;
    }

    .air-top{
        font-size:8px;
    }

    .air-top i{
        width:27px;
        height:27px;
        font-size:10px;
    }

}

/* ================================
   CRASH COURSE
================================ */

.crash-course-block {
    max-width: 100%;
}

.crash-course-block .course-intro {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.crash-course-block .course-details-list {
    margin-bottom: 30px;
}

.crash-course-block .course-details-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.crash-course-block .course-content-block {
    margin-top: 32px;
}

.crash-course-block .course-content-block h4 {
    margin-bottom: 18px;
}

.crash-course-block .course-content-block .mcq-list {
    margin-bottom: 0;
}


/* Fee Table */

.course-fee-table {
    width: 100%;
    overflow-x: auto;
    margin-top: 18px;
    margin-bottom: 20px;
}

.course-fee-table table {
    width: 100%;
    border-collapse: collapse;
    min-width: 500px;
}

 .course-fee-table th, .course-fee-table td {
    padding: 14px 16px;
    text-align: left;
    border: 1px solid var(--line);
}

.course-fee-table th {
    font-weight: 700;
}

.course-fee-table td:last-child, .course-fee-table th:last-child {
    text-align: right;
}


/* Button */

.crash-course-block p .btn {
    margin-top: 28px;
}


/* Mobile */

@media (max-width: 767px) {

     .course-intro {
        font-size: 15px;
        line-height: 1.7;
    }

    .course-details-list li {
        gap: 10px;
    }

    .course-fee-table table {
        min-width: 450px;
    }

    .course-fee-table th, .course-fee-table td {
        padding: 11px 12px;
        font-size: 14px;
    }

}
/* =================================
   CORRESPONDENCE COURSES
================================= */

.correspondence-block {
    max-width: 100%;
}

.correspondence-course {
    padding: 26px 0;
    border-bottom: 1px solid var(--line);
}

.correspondence-course:first-of-type {
    padding-top: 10px;
}

.correspondence-course h4 {
    margin-bottom: 18px;
}

.correspondence-course h4 span {
    font-weight: 500;
    color: var(--muted);
    margin-left: 6px;
}

.correspondence-course .mcq-list {
    margin-bottom: 0;
}

.correspondence-course .mcq-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.correspondence-course-block .course-content-block {
    margin-top: 38px;
}

.correspondence-course-block .course-content-block h4 {
    margin-bottom: 20px;
}

.correspondence-list {
    padding-left: 24px;
    margin: 0;
}

.correspondence-list li {
    padding-left: 8px;
    margin-bottom: 16px;
    color: var(--muted);
    line-height: 1.8;
}

.correspondence-list li::marker {
    color: var(--red);
    font-weight: 700;
}

@media (max-width: 767px) {

    .correspondence-course {
        padding: 22px 0;
    }

    .correspondence-course h4 {
        line-height: 1.4;
    }

    .correspondence-course h4 span {
        display: block;
        margin: 5px 0 0;
    }

    .correspondence-list {
        padding-left: 20px;
    }

}
/* =========================================
   DIGITAL COURSE
========================================= */

.digital-course-block {
    max-width: 100%;
}


/* Course Image */

.digital-course-image {
    width: 100%;
    margin: 25px 0 30px;
}

.digital-course-image img {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: 6px;
    object-fit: cover;
}


/* Course Content */

.digital-course-block .course-content-block {
    margin-top: 32px;
}

.digital-course-block .course-content-block h4 {
    margin-bottom: 18px;
}


/* Intro */

.digital-course-block .course-intro {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
}


/* Course Highlights */

.digital-course-block .mcq-list {
    margin-bottom: 0;
}

.digital-course-block .mcq-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}


/* Price */

.digital-course-price {
    display: inline-block;
    margin-top: 4px;
    color: var(--red);
    font-family: "Space Grotesk", sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
}

.digital-course-discount {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-family: "Inter", sans-serif;
    font-size: 13px;
}


/* Buttons */

.digital-course-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.digital-course-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* Outline Button */

.digital-course-actions .btn-outline {
    border: 1px solid var(--red);
    color: var(--red);
    background: transparent;
}

.digital-course-actions .btn-outline:hover {
    background: var(--red);
    color: #fff;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 767px) {

    .digital-course-image {
        margin: 20px 0 25px;
    }

    .digital-course-image img {
        width: 100%;
        max-width: 100%;
    }

    .digital-course-block .course-intro {
        font-size: 15px;
        line-height: 1.7;
    }

    .digital-course-price {
        font-size: 30px;
    }

    .digital-course-actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .digital-course-actions .btn {
        width: 100%;
    }

}
/* =========================================
   DIGITAL DETAIL PAGE
========================================= */

.digital-detail-wrap {
    max-width: 1180px;
    margin: 0 auto;
}


/* =========================================
   TOP IMAGE + CONTENT
========================================= */

.digital-top-layout {
    display: grid;
    grid-template-columns: 430px minmax(0, 1fr);
    gap: 60px;
    align-items: center;
}


/* IMAGE */

.digital-image-column {
    width: 100%;
}

.digital-detail-image {
    width: 100%;
    padding: 12px;
    background: #f1efe7;
    border: 1px solid #ddd9ce;
    box-sizing: border-box;
}

.digital-detail-image img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 330px;
    object-fit: cover;
}


/* =========================================
   DESCRIPTION
========================================= */

.digital-info-column {
    width: 100%;
}

.digital-main-title {
    margin: 0 0 20px;
    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--ink, #18213d);
}


.digital-description-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.digital-description-list li {
    position: relative;

    padding: 13px 0 13px 22px;

    border-bottom: 1px dashed #d8d5cc;

    color: #62677d;

    font-size: 15px;
    line-height: 1.7;
}

.digital-description-list li::before {
    content: "→";

    position: absolute;
    left: 0;
    top: 13px;

    color: #d93648;
    font-weight: 700;
}


/* =========================================
   PACKAGE
========================================= */

.digital-package-title {
    margin: 28px 0 14px;

    font-family: "Space Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--ink, #18213d);
}


/* THREE BOXES */

.digital-package-box {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;

    padding: 0;

    background: transparent;
}


/* EACH BOX */

.digital-package-item {
    min-height: 105px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 15px 8px;

    background: #a9aad1;
    color: #303495;

    text-align: center;

    box-sizing: border-box;
}


.digital-package-item i {
    margin-bottom: 8px;
    font-size: 18px;
}


.digital-package-item strong {
    display: block;

    font-family: "Space Grotesk", sans-serif;
    font-size: 24px;
    line-height: 1;
}


.digital-package-item span {
    display: block;

    margin-top: 5px;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================
   COURSE DETAILS
========================================= */

.digital-course-details {
    margin-top: 65px;
}

.digital-course-details > h3 {
    margin: 0 0 18px;

    font-family: "Space Grotesk", sans-serif;
    font-size: 26px;
    font-weight: 700;
}


.digital-details-card {
    position: relative;

    padding: 28px 32px;

    background: #f3f1e9;
    border: 1px solid #ddd9ce;
}


.digital-details-card::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: #d93648;
}


.digital-details-card p {
    margin: 0 0 22px;

    color: #62677d;

    font-size: 15px;
    line-height: 1.8;
}


/* READ MORE */

.digital-read-more {
    display: inline-flex;

    align-items: center;
    gap: 9px;

    padding: 11px 22px;

    background: #d93648;
    color: #fff !important;

    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;
}


.digital-read-more:hover {
    background: #b92c3d;
    color: #fff !important;
}


/* =========================================
   PRICE
========================================= */

.digital-purchase-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 40px;
    padding-top: 28px;

    border-top: 1px solid #ddd9ce;
}


.digital-price-area > span {
    display: block;

    margin-bottom: 5px;

    color: #777;

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
}


.digital-price {
    color: #d93648;

    font-family: "Space Grotesk", sans-serif;

    font-size: 36px;
    font-weight: 700;
}


.digital-price i {
    font-size: 23px;
}


.digital-price-area small {
    display: block;

    margin-top: 5px;

    color: #777;
    font-size: 12px;
}


/* =========================================
   BUTTONS
========================================= */

.digital-action-buttons {
    display: flex;

    align-items: center;
    gap: 12px;
}


.digital-action-btn {
    min-width: 145px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 13px 24px;

    background: #d93648;
    color: #fff !important;

    border: 1px solid #d93648;

    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;

    transition: 0.25s ease;
}


.digital-action-btn:hover {
    background: #b92c3d;
    border-color: #b92c3d;

    color: #fff !important;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .digital-top-layout {
        grid-template-columns: 360px minmax(0, 1fr);
        gap: 35px;
    }

    .digital-main-title {
        font-size: 25px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .digital-top-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .digital-detail-image img {
        min-height: auto;
    }

    .digital-package-box {
        grid-template-columns: repeat(3, 1fr);
    }

    .digital-package-item {
        min-height: 90px;
    }

    .digital-package-item strong {
        font-size: 20px;
    }

    .digital-course-details {
        margin-top: 45px;
    }

    .digital-details-card {
        padding: 23px 20px;
    }

    .digital-purchase-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .digital-action-buttons {
        width: 100%;
        flex-direction: column;
    }

    .digital-action-btn {
        width: 100%;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .digital-package-box {
        grid-template-columns: 1fr;
    }
.section-head p {
    font-size: 14px;
}
.section-head h2 {
   font-size: 20px;   
}
    .digital-package-item {
        min-height: 70px;
    }

}
/* =========================================
   FOUNDERS SECTION
========================================= */

.founders-section {
    background: var(--paper);
}

.founders-section .section-head {
    margin-bottom: 40px;
}

.founders-section .section-head h2 {
    margin: 0;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.15;
}


/* =========================================
   FOUNDER CARD
========================================= */

.founder-card {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
    gap: 45px;

    padding: 30px;

    margin-bottom: 30px;

    background: var(--paper-2);
    border: 1px solid rgba(0, 0, 0, 0.10);

    position: relative;
}


/* LEFT RED LINE */

.founder-card::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: var(--red);
}


/* =========================================
   REVERSE FOUNDER
========================================= */

.founder-card.reverse {
    grid-template-columns: minmax(0, 1fr) 300px;
}

.founder-card.reverse .founder-image {
    order: 2;
}

.founder-card.reverse .founder-content {
    order: 1;
}


/* =========================================
   FOUNDER IMAGE
========================================= */

.founder-image {
    width: 100%;
    overflow: hidden;
}

.founder-image img {
    display: block;

    width: 100%;

    border: 1px solid rgba(0, 0, 0, 0.10);

    filter: grayscale(8%);

    transition: transform 0.4s ease;
}

.founder-card:hover .founder-image img {
    transform: scale(1.03);
}


/* =========================================
   FOUNDER CONTENT
========================================= */

.founder-content {
    min-width: 0;
}

.founder-content h2 {
    margin: 0 0 15px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(25px, 2.5vw, 34px);
    font-weight: 700;

    line-height: 1.2;
}

.founder-content h2::after {
    content: "";

    display: block;

    width: 45px;
    height: 3px;

    margin-top: 12px;

    background: var(--red);
}

.founder-content p {
    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 15px;

    line-height: 1.85;
}


/* =========================================
   FOUNDERS NOTE
========================================= */

.founders-note {
    position: relative;

    margin-top: 40px;
    padding: 25px 30px 25px 35px;

    background: var(--paper-2);

    border: 1px solid rgba(0, 0, 0, 0.08);
}

.founders-note::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: var(--red);
}

.founders-note p {
    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 15px;

    line-height: 1.8;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .founder-card {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 30px;

        padding: 25px;
    }

    .founder-card.reverse {
        grid-template-columns: minmax(0, 1fr) 240px;
    }

    .founder-image img {
        height: 260px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .founders-section .section-head {
        margin-bottom: 30px;
    }

    .founder-card,
    .founder-card.reverse {
        grid-template-columns: 1fr;

        gap: 25px;

        padding: 20px;
    }

    .founder-card.reverse .founder-image {
        order: 1;
    }

    .founder-card.reverse .founder-content {
        order: 2;
    }

    .founder-image img {
        width: 100%;
        height: auto;
        max-height: 380px;
    }

    .founder-content h2 {
        font-size: 26px;
    }

    .founder-content p {
        font-size: 14px;
        line-height: 1.75;
    }

    .founders-note {
        padding: 22px 20px 22px 28px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .founder-card,
    .founder-card.reverse {
        padding: 15px;
    }

    .founder-content h2 {
        font-size: 23px;
    }

    .founder-content p {
        font-size: 14px;
    }

    .founders-note {
        margin-top: 25px;
        padding: 20px 18px 20px 25px;
    }

}

/* =========================================
   CORE VALUES
========================================= */

.core-values-list {
    list-style: none;
    padding: 0;
    margin: 25px 0 0;
}

.core-values-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 14px 0;

    border-bottom: 1px dashed rgba(0, 0, 0, 0.15);

    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}

.core-values-list li:last-child {
    border-bottom: none;
}

.core-value-number {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--red);
    color: #fff;

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    font-weight: 700;

    border-radius: 50%;
}

@media (max-width: 767px) {

    .core-values-list li {
        font-size: 14px;
        gap: 12px;
    }

    .core-value-number {
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
    }

}
/* =========================================
   FACULTIES PAGE
========================================= */

.faculties-page {
    overflow: hidden;
}


/* =========================================
   FACULTY INTRO
========================================= */

.faculty-intro {
    max-width: 850px;
    margin-bottom: 55px;
}

.faculty-intro h2 {
    margin: 0 0 18px;

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.15;
}

.faculty-intro p {
    max-width: 780px;
    margin: 0;

    color: var(--muted);
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.85;
}


/* =========================================
   GURU HEADING
========================================= */

.faculty-heading {
    display: flex;
    align-items: center;
    gap: 20px;

    margin-bottom: 35px;
}

.faculty-heading h3 {
    margin: 0;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: 22px;
    font-weight: 700;

    letter-spacing: 1.5px;
}

.faculty-heading-line {
    height: 1px;
    flex: 1;

    background: rgba(0, 0, 0, 0.15);
}


/* =========================================
   FACULTY GRID
========================================= */

.faculty-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}


/* =========================================
   FACULTY CARD
========================================= */

.faculty-card {
    position: relative;

    min-height: 280px;

    padding: 30px;

    background: var(--paper-2);

    border: 1px solid rgba(0, 0, 0, 0.10);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.faculty-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: var(--red);

    transform: scaleY(0);
    transform-origin: top;

    transition: transform 0.3s ease;
}

.faculty-card:hover {
    transform: translateY(-6px);

    border-color: rgba(179, 43, 59, 0.25);

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.faculty-card:hover::before {
    transform: scaleY(1);
}


/* =========================================
   CARD NUMBER
========================================= */

.faculty-card-number {
    position: absolute;

    top: 18px;
    right: 20px;

    color: rgba(0, 0, 0, 0.12);

    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
    font-weight: 700;
}


/* =========================================
   FACULTY ICON
========================================= */

.faculty-icon {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    background: rgba(179, 43, 59, 0.08);

    border: 1px solid rgba(179, 43, 59, 0.16);

    color: var(--red);

    font-size: 21px;
}

.faculty-card h3 {
    margin: 0 0 12px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: 21px;
    line-height: 1.25;
}

.faculty-card p {
    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.8;
}


/* =========================================
   WIDE CARD
========================================= */

.faculty-card-wide {
    grid-column: 1 / -1;

    min-height: auto;

    display: flex;
    align-items: center;

    gap: 25px;
}

.faculty-card-wide .faculty-icon {
    flex: 0 0 52px;

    margin-bottom: 0;
}

.faculty-wide-content {
    flex: 1;
}

.faculty-wide-content h3 {
    margin-bottom: 8px;
}

.faculty-wide-content p {
    max-width: 850px;
}


/* =========================================
   CLOSING SECTION
========================================= */

.faculty-closing {
    padding: 90px 0;

    background: var(--ink);

    color: #fff;
}

.faculty-closing-inner {
    max-width: 850px;
    margin: 0 auto;

    text-align: center;
}

.faculty-closing .eyebrow {
    justify-content: center;

    color: rgba(255, 255, 255, 0.75);
}

.faculty-closing h2 {
    margin: 20px 0;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.1;
}

.faculty-closing p {
    max-width: 700px;
    margin: 0 auto;

    color: rgba(255, 255, 255, 0.70);

    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

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

    .faculty-card-wide {
        grid-column: 1 / -1;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .faculty-intro {
        margin-bottom: 40px;
    }

    .faculty-intro p {
        font-size: 14px;
    }

    .faculty-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }

    .faculty-card {
        min-height: auto;

        padding: 25px;
    }

    .faculty-card-wide {
        display: block;
    }

    .faculty-card-wide .faculty-icon {
        margin-bottom: 20px;
    }

    .faculty-heading {
        gap: 12px;
    }

    .faculty-heading h3 {
        font-size: 18px;
    }

    .faculty-closing {
        padding: 65px 0;
    }

    .faculty-closing h2 {
        font-size: 32px;
    }

    .faculty-closing p {
        font-size: 14px;
    }

}
/* =========================================
   EXPECTATIONS PAGE
========================================= */

.expectations-page {
    overflow: hidden;
}


/* =========================================
   INTRO
========================================= */

.expectations-intro {
    max-width: 800px;
    margin-bottom: 50px;
}

.expectations-intro h2 {
    margin: 0 0 16px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.12;
}

.expectations-intro p {
    max-width: 720px;
    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================
   EXPECTATIONS GRID
========================================= */

.expectations-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 25px;
}


/* =========================================
   EXPECTATION CARD
========================================= */

.expectation-card {
    position: relative;

    padding: 35px;

    background: var(--paper-2);

    border: 1px solid rgba(0, 0, 0, 0.10);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.expectation-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: var(--red);
}

.expectation-card:hover {
    transform: translateY(-5px);

    border-color: rgba(179, 43, 59, 0.25);

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}


/* =========================================
   CARD HEADER
========================================= */

.expectation-card-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 25px;
}

.expectation-number {
    color: rgba(0, 0, 0, 0.16);

    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
    font-weight: 700;
}

.expectation-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(179, 43, 59, 0.08);

    border: 1px solid rgba(179, 43, 59, 0.15);

    color: var(--red);

    font-size: 22px;
}


/* =========================================
   CARD TITLE
========================================= */

.expectation-card h3 {
    margin: 0 0 8px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 700;
}

.expectation-subtitle {
    margin: 0 0 25px;

    color: var(--muted);

    font-family: "JetBrains Mono", monospace;
    font-size: 11px;

    text-transform: uppercase;
    letter-spacing: 0.8px;
}


/* =========================================
   EXPECTATION LIST
========================================= */

.expectation-list {
    list-style: none;

    padding: 0;
    margin: 0;
}

.expectation-list li {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    padding: 13px 0;

    border-bottom: 1px dashed rgba(0, 0, 0, 0.13);

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.7;
}

.expectation-list li:last-child {
    border-bottom: none;
}

.expectation-check {
    flex: 0 0 25px;

    width: 25px;
    height: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 1px;

    background: var(--red);

    color: #fff;

    border-radius: 50%;

    font-size: 10px;
}


/* =========================================
   PARENT NOTE
========================================= */

.expectation-note {
    display: flex;
    align-items: flex-start;

    gap: 12px;

    margin-top: 25px;
    padding: 18px 20px;

    background: rgba(179, 43, 59, 0.06);

    border-left: 3px solid var(--red);
}

.expectation-note i {
    margin-top: 4px;

    color: var(--red);

    font-size: 16px;
}

.expectation-note p {
    margin: 0;

    color: var(--ink);

    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}


/* =========================================
   CLOSING
========================================= */

.expectations-closing {
    padding: 90px 0;

    background: var(--ink);

    color: #fff;
}

.expectations-closing-inner {
    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}

.expectations-closing .eyebrow {
    justify-content: center;

    color: rgba(255, 255, 255, 0.75);
}

.expectations-closing h2 {
    margin: 20px 0;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 4vw, 52px);
    line-height: 1.1;
}

.expectations-closing p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.70);

    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .expectations-grid {
        grid-template-columns: 1fr;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .expectations-intro {
        margin-bottom: 35px;
    }

    .expectations-intro p {
        font-size: 14px;
    }

    .expectation-card {
        padding: 25px;
    }

    .expectation-card h3 {
        font-size: 25px;
    }

    .expectation-list li {
        font-size: 14px;
    }

    .expectations-closing {
        padding: 65px 0;
    }

    .expectations-closing h2 {
        font-size: 32px;
    }

    .expectations-closing p {
        font-size: 14px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .expectation-card {
        padding: 20px;
    }

    .expectation-card-header {
        margin-bottom: 20px;
    }

    .expectation-icon {
        width: 48px;
        height: 48px;

        font-size: 19px;
    }

    .expectation-card h3 {
        font-size: 23px;
    }

    .expectation-list li {
        gap: 10px;
        font-size: 13px;
    }

}
/* =========================================
   KEY TO SUCCESS PAGE
========================================= */

.success-page {
    overflow: hidden;
}


/* =========================================
   INTRO
========================================= */

.success-intro {
    max-width: 800px;
    margin-bottom: 48px;
}

.success-intro h2 {
    margin: 0 0 16px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.12;
}

.success-intro p {
    max-width: 720px;

    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================
   SUCCESS GRID
========================================= */

.success-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================
   SUCCESS CARD
========================================= */

.success-card {
    position: relative;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: var(--paper-2);

    border: 1px solid rgba(0, 0, 0, 0.11);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* LEFT RED LINE */

.success-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background: var(--red);

    transform: scaleY(0);

    transform-origin: bottom;

    transition: transform 0.35s ease;

    z-index: 5;
}


/* HOVER */

.success-card:hover {
    transform: translateY(-6px);

    border-color: rgba(179, 43, 59, 0.28);

    box-shadow:
        0 16px 35px rgba(0, 0, 0, 0.09);
}

.success-card:hover::before {
    transform: scaleY(1);
}


/* =========================================
   IMAGE AREA
========================================= */

.success-image {
    position: relative;

    width: 100%;

    height: 220px;

    overflow: hidden;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #f1f0ec;

    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}


/* IMAGE */

.success-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    object-position: center;

    padding: 18px;

    transition:
        transform 0.45s ease;
}


/* HOVER IMAGE */

.success-card:hover .success-image img {
    transform: scale(1.05);
}


/* =========================================
   CARD CONTENT
========================================= */

.success-card-content {
    position: relative;

    display: flex;

    align-items: center;

    gap: 12px;

    min-height: 70px;

    padding: 16px 18px;

    background: var(--paper-2);
}


/* =========================================
   NUMBER
========================================= */

.success-number {
    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 28px;
    height: 24px;

    color: var(--red);

    border: 1px solid var(--red);

    font-family: "JetBrains Mono", monospace;

    font-size: 10px;

    font-weight: 700;

    line-height: 1;
}


/* =========================================
   TITLE
========================================= */

.success-card h3 {
    margin: 0;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;

    font-size: 17px;

    font-weight: 700;

    line-height: 1.25;
}


/* =========================================
   CLOSING
========================================= */

.success-closing {
    padding: 90px 0;

    background: var(--ink);

    color: #fff;
}

.success-closing-inner {
    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}

.success-closing .eyebrow {
    justify-content: center;

    color: rgba(255, 255, 255, 0.75);
}

.success-closing h2 {
    margin: 20px 0;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;

    font-size: clamp(30px, 4vw, 52px);

    line-height: 1.1;
}

.success-closing p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.70);

    font-family: "Inter", sans-serif;

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================
   LARGE DESKTOP
========================================= */

@media (min-width: 1200px) {

    .success-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));

        gap: 24px;
    }

    .success-image {
        height: 150px;
    }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .success-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));

        gap: 20px;
    }

    .success-image {
        height: 220px;
    }

}


/* =========================================
   SMALL TABLET
========================================= */

@media (max-width: 850px) {

    .success-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 18px;
    }

    .success-image {
        height: 230px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .success-intro {
        margin-bottom: 32px;
    }

    .success-intro p {
        font-size: 14px;

        line-height: 1.7;
    }

    .success-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .success-image {
        height: 250px;
    }

    .success-image img {
        padding: 22px;
    }

    .success-card-content {
        min-height: 65px;

        padding: 14px 16px;
    }

    .success-card h3 {
        font-size: 17px;
    }

    .success-closing {
        padding: 65px 0;
    }

    .success-closing h2 {
        font-size: 32px;
    }

    .success-closing p {
        font-size: 14px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    .success-image {
        height: 230px;
    }

    .success-image img {
        padding: 20px;
    }

}
/* =========================================
   HOSTEL PAGE
========================================= */

.hostel-page {
    overflow: hidden;
}

.hostel-intro {
    max-width: 900px;
    margin-bottom: 55px;
}

.hostel-intro h2 {
    margin: 0 0 18px;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.1;
    color: var(--ink);
}

.hostel-intro p {
    margin: 0;
    color: var(--muted);
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.85;
}


/* =========================================
   COMMON HOSTEL SECTION
========================================= */

.hostel-section {
    margin-top: 55px;
    padding: 32px;

    background: var(--paper-2);
    border: 1px solid rgba(0, 0, 0, .10);

    position: relative;
}

.hostel-section::before {
    content: "";

    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: var(--red);
}

.hostel-section-heading {
    display: flex;
    align-items: center;
    gap: 18px;

    margin-bottom: 28px;
}

.section-index {
    color: var(--red);

    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    font-weight: 700;
}

.mini-label {
    display: block;

    margin-bottom: 5px;

    color: var(--muted);

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;

    text-transform: uppercase;
    letter-spacing: 1px;
}

.hostel-section-heading h3 {
    margin: 0;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: 28px;
    line-height: 1.15;
}


/* =========================================
   HOSTEL TABLE
========================================= */

.hostel-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.hostel-table {
    width: 100%;
    min-width: 600px;

    border-collapse: collapse;

    font-family: "Inter", sans-serif;
}

.hostel-table th {
    padding: 16px;

    background: var(--ink);
    color: #fff;

    text-align: left;

    font-size: 13px;
    font-weight: 700;

    border: 1px solid var(--ink);
}

.hostel-table td {
    padding: 15px 16px;

    color: var(--muted);

    font-size: 14px;

    border: 1px solid rgba(0, 0, 0, .10);
}

.hostel-table tbody tr {
    transition: background .25s ease;
}

.hostel-table tbody tr:hover {
    background: rgba(179, 43, 59, .05);
}


/* =========================================
   ROOM TYPES
========================================= */

.hostel-feature-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 14px;
}

.hostel-feature {
    display: flex;
    align-items: center;
    gap: 15px;

    padding: 18px;

    background: var(--paper);

    border: 1px solid rgba(0, 0, 0, .09);

    color: var(--ink);

    font-family: "Inter", sans-serif;
    font-size: 14px;
}

.hostel-feature span,
.hostel-service span,
.hostel-activity-grid span,
.hostel-paid-grid span,
.belongings-grid span {
    color: var(--red);

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    font-weight: 700;
}


/* =========================================
   SERVICES
========================================= */

.hostel-services-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}

.hostel-service {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    padding: 15px 16px;

    background: var(--paper);

    border-bottom: 1px dashed rgba(0, 0, 0, .15);

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================
   RECREATIONAL ACTIVITIES
========================================= */

.hostel-subsection {
    margin-top: 35px;
    padding-top: 30px;

    border-top: 1px solid rgba(0, 0, 0, .10);
}

.hostel-subsection h4,
.hostel-info-box h4,
.hostel-enroll-box h4,
.special-notes h4 {
    margin: 0 0 18px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: 21px;
}

.hostel-activity-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 14px;
}

.hostel-activity-grid div,
.hostel-paid-grid div {
    display: flex;
    align-items: center;
    gap: 12px;

    padding: 16px;

    background: var(--paper);

    border: 1px solid rgba(0, 0, 0, .08);

    color: var(--ink);

    font-size: 14px;
}


/* =========================================
   PAID FACILITIES
========================================= */

.hostel-paid-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;
}


/* =========================================
   BELONGINGS
========================================= */

.belongings-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 12px;
}

.belongings-grid div {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    padding: 15px 16px;

    background: var(--paper);

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.6;

    border-bottom: 1px dashed rgba(0, 0, 0, .15);
}


/* =========================================
   RULES
========================================= */

.rules-list,
.payment-list,
.special-notes ol {
    margin: 0;

    padding-left: 25px;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.75;
}

.rules-list li,
.payment-list li,
.special-notes li {
    padding: 12px 0 12px 8px;

    border-bottom: 1px dashed rgba(0, 0, 0, .13);
}

.rules-list li:last-child,
.payment-list li:last-child,
.special-notes li:last-child {
    border-bottom: none;
}


/* =========================================
   INFO / ENROLL BOX
========================================= */

.hostel-info-box,
.hostel-enroll-box {
    margin-top: 30px;
    padding: 25px;

    background: var(--paper);

    border-left: 3px solid var(--red);
}

.hostel-info-box p,
.hostel-enroll-box p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.7;
}

.hostel-note {
    margin-top: 15px !important;

    font-size: 12px !important;
}


/* =========================================
   SPECIAL NOTES
========================================= */

.special-notes {
    margin-top: 35px;
    padding-top: 30px;

    border-top: 1px solid rgba(0, 0, 0, .10);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

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

    .hostel-activity-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .hostel-section {
        padding: 24px 20px;

        margin-top: 35px;
    }

    .hostel-intro {
        margin-bottom: 35px;
    }

    .hostel-intro p {
        font-size: 14px;
    }

    .hostel-section-heading h3 {
        font-size: 24px;
    }

    .hostel-feature-grid,
    .hostel-services-grid,
    .belongings-grid {
        grid-template-columns: 1fr;
    }

    .hostel-paid-grid {
        grid-template-columns: 1fr;
    }

    .hostel-table {
        min-width: 560px;
    }

}


@media (max-width: 480px) {

    .hostel-section {
        padding: 20px 16px;
    }

    .hostel-section-heading {
        gap: 12px;
    }

    .hostel-section-heading h3 {
        font-size: 22px;
    }

    .rules-list,
    .payment-list,
    .special-notes ol {
        padding-left: 20px;

        font-size: 13px;
    }

    .hostel-feature,
    .hostel-service,
    .belongings-grid div {
        font-size: 13px;
    }

}
/* =========================================
   TARGET PMT PHOTO GALLERY
========================================= */

.gallery-heading {
    max-width: 720px;
    margin-bottom: 35px;
}

.gallery-heading h2 {
    margin: 0 0 12px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(30px, 4vw, 32px);
    line-height: 1.1;
}

.gallery-heading p {
    margin: 0;

    color: var(--muted);

    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.8;
}

.hostel-gallery-heading {
    margin-top: 90px;
}


/* =========================================
   GALLERY GRID
========================================= */

.target-gallery {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 22px;
}


/* =========================================
   GALLERY CARD
========================================= */

.gallery-card {
    position: relative;

    overflow: hidden;

    background: var(--ink);

    aspect-ratio: 4 / 4;

    border: 1px solid rgba(0, 0, 0, .10);
}

.gallery-card a {
    display: block;

    width: 100%;
    height: 100%;

    position: relative;

    overflow: hidden;
}

.gallery-card img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .55s cubic-bezier(.2,.8,.2,1),
        filter .4s ease;
}


/* =========================================
   HOVER OVERLAY
========================================= */

.gallery-overlay {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    min-height: 42%;

    padding: 22px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.35),
        transparent
    );

    opacity: 0;

    transition: opacity .35s ease;
}

.gallery-overlay div {
    transform: translateY(15px);

    transition: transform .35s ease;
}

.gallery-overlay span {
    display: block;

    margin-bottom: 5px;

    color: #fff;

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    letter-spacing: 1px;
}

.gallery-overlay h3 {
    margin: 0;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;
    font-size: 18px;
}

.gallery-overlay i {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    border: 1px solid rgba(255,255,255,.55);

    border-radius: 50%;

    transform: scale(.8);

    transition: transform .3s ease;
}

.gallery-card:hover img {
    transform: scale(1.07);

    filter: brightness(.72);
}

.gallery-card:hover .gallery-overlay {
    opacity: 1;
}

.gallery-card:hover .gallery-overlay div {
    transform: translateY(0);
}

.gallery-card:hover .gallery-overlay i {
    transform: scale(1);
}


/* =========================================
   LIGHTBOX
========================================= */

.gallery-lightbox-modal {
    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 35px;

    background: rgba(8, 8, 8, .96);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .3s ease,
        visibility .3s ease;
}

.gallery-lightbox-modal.active {
    opacity: 1;
    visibility: visible;
}

.gallery-lightbox-content {
    position: relative;

    width: min(1100px, 90vw);

    max-height: 90vh;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.gallery-lightbox-content img {
    display: block;

    max-width: 100%;
    max-height: 78vh;

    width: auto;
    height: auto;

    object-fit: contain;

    box-shadow: 0 20px 70px rgba(0,0,0,.45);
}


/* =========================================
   LIGHTBOX CONTROLS
========================================= */

.gallery-close,
.gallery-prev,
.gallery-next {
    position: fixed;

    z-index: 10;

    border: 0;

    cursor: pointer;

    color: #fff;

    background: rgba(255,255,255,.10);

    transition:
        background .25s ease,
        transform .25s ease;
}

.gallery-close {
    top: 25px;
    right: 30px;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    font-size: 32px;
    line-height: 1;
}

.gallery-prev,
.gallery-next {
    top: 50%;

    width: 52px;
    height: 52px;

    border-radius: 50%;

    font-size: 22px;

    transform: translateY(-50%);
}

.gallery-prev {
    left: 28px;
}

.gallery-next {
    right: 28px;
}

.gallery-close:hover,
.gallery-prev:hover,
.gallery-next:hover {
    background: var(--red);

    transform: translateY(-50%) scale(1.05);
}

.gallery-close:hover {
    transform: scale(1.05);
}


/* =========================================
   CAPTION
========================================= */

.lightbox-caption {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-top: 15px;

    color: #fff;

    font-family: "Inter", sans-serif;
}

.lightbox-caption span {
    color: rgba(255,255,255,.6);

    font-family: "JetBrains Mono", monospace;

    font-size: 11px;
}

.lightbox-caption strong {
    font-family: "Space Grotesk", sans-serif;
    font-size: 16px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991px) {

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

    .gallery-prev {
        left: 15px;
    }

    .gallery-next {
        right: 15px;
    }

}


@media (max-width: 600px) {

    .target-gallery {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .gallery-card {
        aspect-ratio: 16 / 11;
    }

    .gallery-overlay {
        opacity: 1;

        min-height: 35%;

        padding: 16px;
    }

    .gallery-overlay div {
        transform: translateY(0);
    }

    .gallery-overlay h3 {
        font-size: 16px;
    }

    .gallery-overlay i {
        width: 34px;
        height: 34px;
    }

    .hostel-gallery-heading {
        margin-top: 60px;
    }

    .gallery-lightbox-modal {
        padding: 15px;
    }

    .gallery-lightbox-content {
        width: 100%;
    }

    .gallery-lightbox-content img {
        max-width: 100%;
        max-height: 75vh;
    }

    .gallery-prev,
    .gallery-next {
        width: 42px;
        height: 42px;

        font-size: 18px;
    }

    .gallery-prev {
        left: 8px;
    }

    .gallery-next {
        right: 8px;
    }

    .gallery-close {
        top: 12px;
        right: 12px;

        width: 42px;
        height: 42px;
    }

    .lightbox-caption {
        padding: 12px 8px 0;
    }

}
/* ==========================================
   TESTIMONIAL PAGE
========================================== */

.testimonials-intro {
    max-width: 800px;
    margin: 0 auto 35px;
    text-align: center;
}

.testimonials-intro h2 {
    margin: 12px 0 10px;
}

.testimonials-intro p {
    color: var(--muted);
    margin: 0;
}


/* FILTER */

.testimonial-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 45px;
}

.testimonial-filter button {
    border: 1px solid rgba(20, 30, 60, .18);
    background: transparent;
    padding: 9px 16px;
    color: var(--ink);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all .25s ease;
}

.testimonial-filter button:hover,
.testimonial-filter button.active {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}


/* GRID */

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 28px;
}


/* CARD */

.testimonial-card-new {
    background: var(--paper);
    border: 1px solid rgba(20, 30, 60, .14);
    transition: transform .3s ease, box-shadow .3s ease;
    overflow: hidden;
}

.testimonial-card-new:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,.09);
}

.testimonial-card-new.is-hidden {
    display: none;
}


/* IMAGE */

.tc-image {
    position: relative;
    height: 200px;
    background: #eee;
    overflow: hidden;
}

.tc-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    padding: 20px 0;
    transition: transform .4s ease;
}

.testimonial-card-new:hover .tc-image img {
    transform: scale(1.04);
}


/* INDEX */

.tc-index {
    position: absolute;
    top: 14px;
    left: 14px;

    background: var(--red);
    color: #fff;

    min-width: 34px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 7px;

    font-size: 10px;
    font-weight: 700;
}


/* SCORE */

.tc-score {
    position: absolute;
    right: 14px;
    bottom: 14px;

    background: #fff;
    padding: 10px 13px;

    min-width: 75px;
    text-align: center;

    box-shadow: 0 5px 20px rgba(0,0,0,.12);
}

.tc-score strong {
    display: block;
    color: var(--red);
    font-size: 18px;
    line-height: 1;
}

.tc-score span {
    display: block;
    margin-top: 5px;

    font-size: 9px;
    font-weight: 700;
    color: var(--ink);
}


/* BODY */

.tc-body {
    padding: 22px;
}

.tc-year {
    color: var(--red);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.tc-body h3 {
    margin: 0 0 10px;
    color: var(--ink);
    font-size: 17px;
    line-height: 1.4;
}

.tc-body p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}


/* VIEW TESTIMONIAL */

.tc-view {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 13px 0 0;

    background: transparent;
    border: 0;
    border-top: 1px solid rgba(20,30,60,.12);

    color: var(--ink);

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;

    cursor: pointer;

    transition: color .25s ease;
}

.tc-view span {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(20,30,60,.18);
    border-radius: 50%;

    font-size: 16px;

    transition: all .25s ease;
}

.tc-view:hover {
    color: var(--red);
}

.tc-view:hover span {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}


/* ==========================================
   TESTIMONIAL POPUP
========================================== */

.testimonial-lightbox {
    position: fixed;
    inset: 0;

    z-index: 999999;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 25px;
}

.testimonial-lightbox.active {
    display: flex;
}

.testimonial-lightbox::before {
    content: "";
    position: absolute;
    inset: 0;

    background: rgba(5, 8, 18, .88);
    backdrop-filter: blur(5px);
}


/* POPUP BOX */

.testimonial-modal-box {
    position: relative;
    z-index: 2;

    width: min(850px, 95vw);
    max-height: 92vh;

    background: #fff;

    padding: 18px;

    overflow: auto;

    box-shadow: 0 30px 90px rgba(0,0,0,.4);

    animation: testimonialPopup .25s ease;
}

@keyframes testimonialPopup {

    from {
        opacity: 0;
        transform: translateY(20px) scale(.97);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }

}


/* POPUP HEADER */

.testimonial-modal-head {
    padding: 5px 50px 15px 5px;
}

.testimonial-modal-head h3 {
    margin: 0;

    color: var(--ink);
    font-size: 18px;
    line-height: 1.4;
}


/* CLOSE */

.testimonial-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;

    width: 40px;
    height: 40px;

    border: 0;

    background: var(--red);
    color: #fff;

    font-size: 25px;
    line-height: 1;

    cursor: pointer;

    z-index: 5;
}

.testimonial-modal-close:hover {
    background: #111;
}


/* IMAGE */

.testimonial-modal-img {
    width: 100%;

    min-height: 300px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4f4f4;

    overflow: hidden;
}

.testimonial-modal-img img {
    display: block;

    max-width: 100%;
    max-height: 72vh;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* NOTE */

.testimonial-modal-note {
    margin: 12px 4px 3px;

    color: var(--muted);

    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* BODY LOCK */

body.testimonial-popup-open {
    overflow: hidden;
}


/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 991px) {

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

}


@media (max-width: 767px) {

    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-filter {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 8px;
    }

    .testimonial-filter button {
        flex: 0 0 auto;
    }

    .tc-image {
        height: 280px;
    }

}


@media (max-width: 480px) {

    .testimonial-lightbox {
        padding: 10px;
    }

    .testimonial-modal-box {
        width: 100%;
        padding: 10px;
    }

    .testimonial-modal-img img {
        max-height: 78vh;
    }

    .tc-image {
        height: 250px;
    }

}

/* =========================================
   TESTIMONIAL IMAGE POPUP
========================================= */

.testimonial-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.testimonial-popup.active {
    display: flex;
}

.testimonial-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 15, 30, 0.88);
    backdrop-filter: blur(5px);
}

.testimonial-popup-box {
    position: relative;
    z-index: 2;

    width: min(900px, 95vw);
    max-height: 92vh;

    background: #fff;
    padding: 15px;

    border-radius: 4px;

    box-shadow: 0 25px 70px rgba(0,0,0,.4);

    display: flex;
    flex-direction: column;
}

.testimonial-popup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 5px 5px 12px;

    border-bottom: 1px solid #e6e6e6;
}

.testimonial-popup-title {
    margin: 0;

    color: #172044;

    font-size: 17px;
    font-weight: 700;
}

.testimonial-popup-close {
    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    border: 0;
    border-radius: 50%;

    background: #d9364f;
    color: #fff;

    font-size: 25px;
    line-height: 1;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: all .2s ease;
}

.testimonial-popup-close:hover {
    background: #172044;
    transform: rotate(90deg);
}

.testimonial-popup-image-wrap {
    margin-top: 12px;

    width: 100%;

    max-height: calc(92vh - 90px);

    overflow: auto;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f5f5f5;
}

.testimonial-popup-image {
    display: block;

    max-width: 100%;
    max-height: calc(92vh - 100px);

    width: auto;
    height: auto;

    object-fit: contain;
}

body.testimonial-popup-open {
    overflow: hidden;
}


/* MOBILE */

@media (max-width: 767px) {

    .testimonial-popup {
        padding: 10px;
    }

    .testimonial-popup-box {
        width: 100%;
        max-height: 95vh;
        padding: 10px;
    }

    .testimonial-popup-title {
        font-size: 14px;
        line-height: 1.4;
    }

    .testimonial-popup-image-wrap {
        max-height: calc(95vh - 80px);
    }

    .testimonial-popup-image {
        max-height: calc(95vh - 100px);
    }

}
/* Refund Policy Sub Points */
.refund-subpoints {
    margin: 15px 0 15px 52px;
    padding: 18px 22px;
    border-left: 3px solid var(--red);
    background: var(--paper-2);
}

.refund-subpoints p {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.refund-subpoints p:last-child {
    margin-bottom: 0;
}

.refund-subpoints strong {
    color: var(--ink);
    font-weight: 700;
}

/* Mobile */
@media (max-width: 767px) {

    .refund-subpoints {
        margin: -5px 0 20px 15px;
        padding: 15px 16px;
    }

    .refund-subpoints p {
        font-size: 14px;
        line-height: 1.7;
    }

}
/* =========================================
   PRIVACY POLICY
========================================= */

.privacy-policy-block > p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.85;
    margin-bottom: 28px;
}

.privacy-content-block {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid rgba(20, 25, 40, 0.12);
}

.privacy-content-block h4 {
    margin-bottom: 12px;
    color: var(--ink);
    font-size: 21px;
    font-weight: 700;
}

.privacy-content-block p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 16px;
}

.privacy-list {
    margin: 0;
    padding-left: 25px;
    list-style: disc;
}

.privacy-list li {
    color: var(--muted);
    font-size: 15.5px;
    line-height: 1.8;
    margin-bottom: 10px;
    padding-left: 6px;
}

.privacy-list li::marker {
    color: var(--red);
    font-weight: 700;
}

.privacy-final-block {
    margin-top: 32px;
    padding: 24px;
    background: var(--paper-2);
    border-left: 3px solid var(--red);
}

.privacy-final-block p {
    margin-bottom: 0;
}


/* MOBILE */

@media (max-width: 767px) {

    .privacy-policy-block > p,
    .privacy-content-block p {
        font-size: 14px;
        line-height: 1.75;
    }

    .privacy-content-block h4 {
        font-size: 18px;
    }

    .privacy-list {
        padding-left: 22px;
    }

    .privacy-list li {
        font-size: 14px;
        line-height: 1.7;
    }

    .privacy-final-block {
        padding: 18px;
    }

}
/* =========================================
   RESULTS YEAR TABS
========================================= */

.results-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}


/* LEFT TABS */

.results-tabs {
    border: 1px solid rgba(20, 25, 40, 0.12);
    background: var(--paper);
}

.result-tab {
    width: 100%;
    display: block;
    border: 0;
    border-bottom: 1px solid rgba(20, 25, 40, 0.10);
    background: transparent;
    color: var(--ink);
    text-align: left;
    padding: 13px 14px;
    font-family: var(--ff-body, Inter, sans-serif);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
}

.result-tab:last-child {
    border-bottom: 0;
}

.result-tab:hover {
    background: rgba(217, 52, 68, 0.06);
    color: var(--red);
}

.result-tab.active {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}


/* RIGHT CONTENT */

.results-content {
    min-width: 0;
}

.result-panel {
    display: none;
    animation: resultFade .3s ease;
}

.result-panel.active {
    display: block;
}

@keyframes resultFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* PANEL HEADER */

.result-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    border: 1px solid rgba(20, 25, 40, 0.12);
    border-bottom: 0;
    background: var(--paper-2);
}

.result-panel-head h3 {
    margin: 5px 0 0;
    font-size: clamp(22px, 2.4vw, 30px);
    color: var(--ink);
}

.result-code {
    display: inline-block;
    font-family: var(--ff-mono, monospace);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--red);
}

.result-year {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(20, 25, 40, 0.15);
    font-family: var(--ff-mono, monospace);
    font-size: 11px;
    color: var(--muted);
}


/* EMPTY / FUTURE CONTENT AREA */

.result-placeholder {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 45px 30px;
    border: 1px solid rgba(20, 25, 40, 0.12);
    background: var(--paper);
}

.placeholder-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    border: 1px solid rgba(217, 52, 68, 0.25);
    color: var(--red);
    font-size: 22px;
}

.result-placeholder h4 {
    margin: 0 0 8px;
    font-size: 20px;
    color: var(--ink);
}

.result-placeholder p {
    max-width: 520px;
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
    font-size: 14px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .results-layout {
        display: block;
    }

    .results-tabs {
        display: flex;
        overflow-x: auto;
        gap: 0;
        margin-bottom: 18px;
        border: 1px solid rgba(20, 25, 40, 0.12);
        scrollbar-width: thin;
    }

    .result-tab {
        flex: 0 0 auto;
        width: auto;
        white-space: nowrap;
        border-right: 1px solid rgba(20, 25, 40, 0.10);
        border-bottom: 0;
        padding: 11px 14px;
    }

    .result-tab:last-child {
        border-right: 0;
    }

    .result-panel-head {
        padding: 16px;
    }

    .result-panel-head h3 {
        font-size: 21px;
    }

    .result-year {
        font-size: 10px;
        padding: 6px 8px;
    }

    .result-placeholder {
        min-height: 250px;
        padding: 30px 18px;
    }

}
/* =========================================
   NEET RESULT / STUDENT RESULT PANEL
========================================= */

.result-panel {
    width: 100%;
    margin-top: 30px;
}


/* =========================================
   PANEL HEADER
========================================= */

.result-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    border-bottom: 1px dashed var(--line);
}

.result-panel-head > div {
    min-width: 0;
}

.result-code {
    display: inline-block;
    margin-bottom: 8px;
    font-family: var(--ff-mono);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--red);
}

.result-panel-head h3 {
    margin: 0;
    font-family: var(--ff-display);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    color: var(--ink);
}

.result-year {
    flex-shrink: 0;
    padding: 8px 14px;
    border: 1px solid var(--line);
    background: var(--paper-2);
    color: var(--muted);
    font-family: var(--ff-mono);
    font-size: 12px;
    font-weight: 600;
}


/* =========================================
   SEARCH AREA
========================================= */

.result-search-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 18px;
    margin-bottom: 28px;
    background: var(--paper-2);
    border: 1px solid var(--line);
}

.result-search {
    display: flex;
    align-items: stretch;
    flex: 1;
    max-width: 600px;
}

.student-search {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-right: 0;
    outline: none;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--ff-body);
    font-size: 14px;
    transition: border-color .25s ease,
                box-shadow .25s ease;
}

.student-search::placeholder {
    color: var(--muted-light);
}

.student-search:focus {
    border-color: var(--red);
    box-shadow: 0 0 0 3px rgba(214, 51, 64, .08);
}

.student-search-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 110px;
    padding: 0 18px;
    border: 1px solid var(--red);
    background: var(--red);
    color: #fff;
    cursor: pointer;
    font-family: var(--ff-body);
    font-size: 13px;
    font-weight: 700;
    transition: all .25s ease;
}

.student-search-btn:hover {
    background: var(--ink);
    border-color: var(--ink);
}

.student-search-btn i {
    font-size: 12px;
}

.student-reset-btn {
    min-height: 44px;
    line-height:44px;
    padding: 0 18px;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    font-family: var(--ff-mono);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    transition: all .25s ease;
}

.student-reset-btn:hover {
    border-color: var(--red);
    color: var(--red);
}


/* =========================================
   STUDENT GRID
========================================= */

.student-results-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}


/* =========================================
   STUDENT CARD
========================================= */

.student-result-card {
    position: relative;
    overflow: hidden;
    background: var(--paper);
    border: 1px solid var(--line);
    transition: transform .3s ease,
                box-shadow .3s ease,
                border-color .3s ease;
}

.student-result-card:hover {
    transform: translateY(-5px);
    border-color: rgba(214, 51, 64, .35);
    box-shadow: 0 14px 35px rgba(20, 25, 40, .09);
}


/* =========================================
   IMAGE
========================================= */

.student-result-image {
    position: relative;
    width: 100%;
    height: 207px;
    overflow: hidden;
    background: var(--paper-2);
}

.student-result-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(15, 20, 35, .08),
        transparent 35%
    );
    pointer-events: none;
}

.student-result-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .45s ease;
}

.student-result-card:hover .student-result-image img {
    transform: scale(1.04);
}


/* =========================================
   CARD CONTENT
========================================= */

.student-result-info {
    position: relative;
    padding: 16px 17px 18px;
}

.student-result-number {
    display: block;
    margin-bottom: 7px;
    color: var(--red);
    font-family: var(--ff-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

.student-result-info h4 {
    margin: 0 0 8px;
    color: var(--ink);
    font-family: var(--ff-display);
    font-size: 15px;
    line-height: 1.25;
}

.student-result-rank {
    display: inline-block;
    padding: 5px 8px;
    background: var(--paper-2);
    color: var(--muted);
    font-family: var(--ff-mono);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .3px;
}


/* =========================================
   PAGINATION
========================================= */

.result-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 35px;
}

.page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    border: 1px solid var(--line);
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    font-family: var(--ff-mono);
    font-size: 11px;
    font-weight: 600;
    transition: all .2s ease;
}

.page-btn:hover:not(.disabled),
.page-btn.active {
    border-color: var(--red);
    background: var(--red);
    color: #fff;
}

.page-btn.disabled {
    opacity: .4;
    cursor: not-allowed;
}

.page-btn i {
    font-size: 10px;
}

.page-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 4px;
    color: var(--muted);
    font-family: var(--ff-mono);
    font-size: 11px;
}


/* =========================================
   RESULT COUNT
========================================= */

.result-count {
    margin-top: 18px;
    text-align: center;
    color: var(--muted-light);
    font-family: var(--ff-mono);
    font-size: 11px;
}


/* =========================================
   SEARCH NO RESULT
========================================= */

.no-student-result {
    grid-column: 1 / -1;
    padding: 50px 20px;
    text-align: center;
    border: 1px dashed var(--line);
    background: var(--paper-2);
}

.no-student-result i {
    display: block;
    margin-bottom: 12px;
    color: var(--red);
    font-size: 24px;
}

.no-student-result h4 {
    margin: 0 0 6px;
    color: var(--ink);
    font-family: var(--ff-display);
    font-size: 20px;
}

.no-student-result p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}


/* =========================================
   HIDDEN CARD FOR SEARCH / PAGINATION
========================================= */

.student-result-card.result-hidden {
    display: none !important;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .student-results-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .student-result-image {
        height: 230px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .result-panel-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .result-year {
        align-self: flex-start;
    }

    .result-search-box {
        align-items: stretch;
        flex-direction: column;
        padding: 14px;
    }

    .result-search {
        width: 100%;
        max-width: none;
    }

    .student-search-btn {
        min-width: 95px;
        padding: 0 13px;
    }

    .student-reset-btn {
        width: 100%;
    }

    .student-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .student-result-image {
        height: 210px;
    }

    .student-result-info {
        padding: 13px;
    }

    .student-result-info h4 {
        font-size: 15px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {


    .student-result-image {
        height: auto !important;
    }

    .result-search {
        flex-direction: column;
        gap: 8px;
    }

    .student-search {
        border-right: 1px solid var(--line);
    }

    .student-search-btn {
        min-height: 44px;
        width: 100%;
    }

    .result-pagination {
        gap: 4px;
    }

    .page-btn {
        min-width: 31px;
        height: 31px;
        padding: 0 7px;
    }

}
/* =========================================
   RESULT PAGINATION
========================================= */

.result-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 35px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

.pagination-btn {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--line);
    background: transparent;

    color: var(--ink);
    font-family: var(--ff-mono);
    font-size: 12px;
    font-weight: 600;

    cursor: pointer;
    transition: all 0.25s ease;
}

/* Hover */
.pagination-btn:hover {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
    transform: translateY(-2px);
}

/* Active page */
.pagination-btn.active {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}

/* Active hover */
.pagination-btn.active:hover {
    background: var(--red);
    color: #fff;
    border-color: var(--red);
    transform: none;
}

/* Disabled button - agar future me Previous/Next lagao */
.pagination-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    transform: none;
}


/* =========================================
   RESULT COUNT
========================================= */

.result-count {
    margin-top: 16px;
    text-align: center;

    font-family: var(--ff-mono);
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--muted-light);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .result-pagination {
        gap: 6px;
        margin-top: 28px;
        padding-top: 20px;
    }

    .pagination-btn {
        min-width: 34px;
        height: 34px;
        padding: 0 9px;
        font-size: 11px;
    }

    .result-count {
        font-size: 10px;
        margin-top: 14px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .result-pagination {
        gap: 5px;
    }

    .pagination-btn {
        min-width: 32px;
        height: 32px;
        padding: 0 7px;
    }
}


.blog-category-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 0 auto 32px;
    padding: 6px;
    width: fit-content;
    max-width: 100%;
    border: 1px solid rgba(20, 28, 38, 0.14);
    background: var(--paper);
}

.blog-category-tab {
    border: 0;
    background: transparent;
    color: var(--ink);
    padding: 13px 28px;
    cursor: pointer;
    font-family: var(--ff-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: .25s ease;
}

.blog-category-tab:hover {
    background: rgba(190,35,45,.08);
    color: var(--red);
}

.blog-category-tab.active {
    background: var(--red);
    color: #fff;
}


.blog-tab-panel {
    display: none;
}

.blog-tab-panel.active {
    display: block;
}


.blog-search-wrap {
    margin-bottom: 35px;
}

.blog-search {
    display: flex;
    gap: 10px;
    max-width: 760px;
    margin: auto;
}

.blog-search .searchBox {
    flex: 1;
    min-height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(20,28,38,.18);
    background: var(--paper);
    color: var(--ink);
    outline: none;
}

.blog-search .searchBox:focus {
    border-color: var(--red);
}

.blog-search-btn,
.blog-reset-btn {
    min-height: 50px;
    padding: 0 20px;
    border: 1px solid var(--ink);
    cursor: pointer;
    font-family: var(--ff-mono);
    font-size: 11px;
    text-transform: uppercase;
    transition: .25s ease;
}

.blog-search-btn {
    background: var(--ink);
    color: var(--paper);
}

.blog-search-btn:hover {
    background: var(--red);
    border-color: var(--red);
}

.blog-reset-btn {
    background: transparent;
    color: var(--ink);
}

.blog-reset-btn:hover {
    background: var(--ink);
    color: var(--paper);
}


.blog-results {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 20px;
}

.blog-card {
    height: 100%;
}

.blog-img {
    overflow: hidden;
}

.blog-img img {
    display: block;
    width: 100%;
    height: 245px;
    object-fit: cover;
    transition: transform .5s ease;
}

.blog-card:hover .blog-img img {
    transform: scale(1.05);
}

.blog-body {
    padding: 22px;
}

.blog-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
    color: var(--red);
    font-family: var(--ff-mono);
    font-size: 11px;
    text-transform: uppercase;
}

.blog-meta .sep {
    color: var(--muted-light);
}

.blog-meta .rt {
    color: var(--muted-light);
}

.blog-body h4 {
    margin-bottom: 12px;
}

.blog-body p {
    margin-bottom: 18px;
}

.read-more {
    text-decoration: none;
}


.blog-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 35px;
}

.blog-pagination button {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(20,28,38,.15);
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    font-family: var(--ff-mono);
    font-size: 11px;
    transition: .25s ease;
}

.blog-pagination button:hover {
    background: var(--ink);
    color: var(--paper);
}

.blog-pagination button.active {
    background: var(--red);
    border-color: var(--red);
    color: #fff;
}

.blog-pagination button:disabled {
    opacity: .35;
    cursor: not-allowed;
}

.pagination-dots {
    padding: 0 5px;
    color: var(--muted-light);
}

.blog-count {
    margin-top: 12px;
    text-align: center;
    color: var(--muted-light);
    font-family: var(--ff-mono);
    font-size: 11px;
}


.blog-no-result {
    grid-column: 1 / -1;
    padding: 50px 20px;
    text-align: center;
    border: 1px dashed rgba(20,28,38,.2);
}

.blog-no-result h4 {
    margin-bottom: 8px;
}

.blog-no-result p {
    margin: 0;
    color: var(--muted-light);
}


@media (max-width: 767px) {

    .blog-category-tabs {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .blog-category-tabs::-webkit-scrollbar {
        display: none;
    }

    .blog-category-tab {
        flex: 0 0 auto;
        padding: 12px 20px;
    }

    .blog-search {
        flex-wrap: wrap;
    }

    .blog-search .searchBox {
        flex: 1 1 100%;
        width: 100%;
    }

    .blog-search-btn,
    .blog-reset-btn {
        flex: 1;
    }

    .blog-results {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .blog-img img {
        height: 220px;
    }
}


@media (max-width: 480px) {
.inner-hero h1 {
    font-size: 24px;
}
.enquiry-intro h2 {
    font-size: 20px !important;
}
.enquiry-box h3 {
    font-size: 22px !important;
}
    .blog-search-btn,
    .blog-reset-btn {
        flex: 1 1 100%;
    }

    .blog-img img {
        height: auto;
    }
    .final-cta h2{
        font-size: 20px;
    }
    .final-cta p {
        font-size: 15px;
    }

}
/* =========================================
   FACILITIES SECTION
========================================= */

.facilities-section {
    position: relative;
}


/* =========================================
   FACILITY GRID - 4 CARDS DESKTOP
========================================= */

.facility-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    margin-top: 42px;
}


/* =========================================
   FACILITY CARD
========================================= */

.facility-card {
    position: relative;
    overflow: hidden;

    background: var(--paper, #f7f5ef);

    border: 1px solid rgba(20, 28, 38, 0.14);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}

.facility-card:hover {
    transform: translateY(-6px);

    border-color: rgba(20, 28, 38, 0.25);

    box-shadow:
        0 16px 35px rgba(0, 0, 0, 0.10);
}


/* =========================================
   FACILITY IMAGE
========================================= */

.facility-image {
    position: relative;
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eeeeee;
}

.facility-image img {
    display: block;
    padding: 20px;
    transition: transform 0.5s ease;
}

.facility-card:hover .facility-image img {
    transform: scale(1.04);
}


/* =========================================
   FACILITY CONTENT
========================================= */

.facility-content {
    padding: 20px 19px 23px;
}


/* NUMBER */

.facility-number {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 34px;
    height: 27px;

    margin-bottom: 12px;

    border: 1px solid var(--red, #d71920);

    color: var(--red, #d71920);

    font-family: var(--ff-mono, monospace);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 0.5px;
}


/* TITLE */

.facility-content h3 {
    margin: 0 0 9px;

    color: var(--ink, #10264d);

    font-size: 19px;

    line-height: 1.3;

    font-weight: 700;
}


/* DESCRIPTION */

.facility-content p {
    margin: 0;

    color: var(--muted-light, #71809a);

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================
   HOSTEL SUB HEADING
========================================= */

.facility-subhead {
    margin-top: 80px;

    padding-top: 48px;

    border-top: 1px dashed rgba(20, 28, 38, 0.25);
}

.facility-subhead h2 {
    margin: 10px 0 12px;

    color: var(--ink, #10264d);
}

.facility-subhead p {
    max-width: 720px;

    margin: 0;

    color: var(--muted-light, #71809a);

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================
   DESKTOP LARGE
========================================= */

@media (min-width: 1200px) {

    .facility-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px;
    }

    .facility-image {
        height: auto;
    }

    .facility-content {
        padding: 21px 20px 24px;
    }

}


/* =========================================
   TABLET / LAPTOP
========================================= */

@media (max-width: 1199px) {

    .facility-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }

    .facility-image {
        height: 230px;
    }

    .facility-content {
        padding: 18px 16px 21px;
    }

    .facility-content h3 {
        font-size: 17px;
    }

    .facility-content p {
        font-size: 12.5px;
    }

}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .facility-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .facility-image {
        height: 270px;
    }

    .facility-content {
        padding: 20px;
    }

    .facility-content h3 {
        font-size: 19px;
    }

    .facility-content p {
        font-size: 13px;
    }

    .facility-subhead {
        margin-top: 65px;
        padding-top: 40px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .facility-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 30px;
    }

    .facility-image {
        height: 290px;
    }

    .facility-content {
        padding: 20px 19px 23px;
    }

    .facility-number {
        width: 34px;
        height: 27px;
    }

    .facility-content h3 {
        font-size: 20px;
    }

    .facility-content p {
        font-size: 13px;
        line-height: 1.7;
    }

    .facility-subhead {
        margin-top: 55px;
        padding-top: 35px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    .facility-image {
        height: 260px;
    }

    .facility-content {
        padding: 18px;
    }

    .facility-content h3 {
        font-size: 18px;
    }

}

/* =========================================================
   BLOG DETAIL
========================================================= */

.blog-detail-page {
    overflow: hidden;
}


/* =========================================================
   BLOG LAYOUT
========================================================= */

.blog-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 55px;
    align-items: start;
}


/* =========================================================
   META
========================================================= */

.blog-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;

    margin-bottom: 25px;

    color: var(--muted);
    font-size: 13px;
}

.blog-meta i {
    margin-right: 5px;
    color: var(--red);
}

.blog-category {
    padding: 6px 12px;

    border: 1px solid var(--red);

    color: var(--red);

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

.blog-featured-image {
    width: 100%;
    margin-bottom: 40px;
    overflow: hidden;
}

.blog-featured-image img {
    display: block;

    width: 100%;
    height: auto;

    max-height: 560px;

    object-fit: cover;
}


/* =========================================================
   CONTENT
========================================================= */

.blog-content {
    color: var(--muted);

    font-size: 16px;
    line-height: 1.85;
}

.blog-content p {
    margin-bottom: 22px;
}

.blog-content a {
    color: var(--red);
    font-weight: 600;
}

.blog-lead {
    color: var(--ink) !important;

    font-size: 19px;

    line-height: 1.75;
}


/* =========================================================
   STRATEGY
========================================================= */

.blog-strategy {
    display: grid;

    grid-template-columns: 65px 1fr;

    gap: 25px;

    padding: 35px 0;

    border-top: 1px solid rgba(0,0,0,.12);
}

.strategy-count {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    background: var(--red);

    color: #fff;

    font-family: "JetBrains Mono", monospace;

    font-size: 13px;
    font-weight: 700;
}

.strategy-body .eyebrow {
    margin-bottom: 12px;
}

.strategy-body h2 {
    margin: 0 0 15px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;

    font-size: clamp(24px, 3vw, 34px);

    line-height: 1.15;
}

.strategy-body p {
    margin-bottom: 15px;
}


/* =========================================================
   HIGHLIGHT
========================================================= */

.blog-highlight {
    position: relative;

    margin: 30px 0 15px;

    padding: 40px;

    background: var(--ink);

    color: #fff;
}

.blog-highlight .tag-box {
    margin-bottom: 20px;
}

.blog-highlight h3 {
    max-width: 700px;

    margin: 0;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;

    font-size: clamp(24px, 3vw, 38px);

    line-height: 1.2;
}


/* =========================================================
   CONCLUSION
========================================================= */

.blog-conclusion {
    margin-top: 30px;

    padding: 40px;

    background: var(--paper-2);

    border-left: 5px solid var(--red);
}

.blog-conclusion h2 {
    margin: 10px 0 18px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;

    font-size: clamp(27px, 3vw, 40px);

    line-height: 1.15;
}

.blog-conclusion p {
    margin-bottom: 18px;
}


/* =========================================================
   BACK
========================================================= */

.blog-back {
    padding-top: 35px;
}

.blog-back a {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    color: var(--red);

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;
}

.blog-back a:hover {
    color: var(--ink);
}


/* =========================================================
   SIDEBAR
========================================================= */

.blog-sidebar {
    position: sticky;
    top: 110px;
}

.sidebar-block {
    margin-bottom: 30px;

    padding: 25px;

    background: var(--paper-2);

    border: 1px solid rgba(0,0,0,.10);
}

.sidebar-block h3 {
    margin: 10px 0 20px;

    color: var(--ink);

    font-family: "Space Grotesk", sans-serif;

    font-size: 25px;
}


/* =========================================================
   SIDEBAR POSTS
========================================================= */

.sidebar-post {
    display: block;

    padding: 15px 0;

    border-bottom: 1px solid rgba(0,0,0,.10);

    text-decoration: none;
}

.sidebar-post:last-child {
    border-bottom: 0;
}

.sidebar-post span {
    display: block;

    margin-bottom: 5px;

    color: var(--red);

    font-family: "JetBrains Mono", monospace;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: 1px;
}

.sidebar-post strong {
    display: block;

    color: var(--ink);

    font-size: 14px;

    line-height: 1.5;
}

.sidebar-post:hover strong {
    color: var(--red);
}


/* =========================================================
   SIDEBAR CATEGORY
========================================================= */

.sidebar-category {
    display: flex;

    justify-content: space-between;
    align-items: center;

    padding: 13px 0;

    border-bottom: 1px solid rgba(0,0,0,.10);

    color: var(--ink);

    font-size: 14px;

    text-decoration: none;
}

.sidebar-category:last-child {
    border-bottom: 0;
}

.sidebar-category i {
    color: var(--red);
}

.sidebar-category:hover {
    color: var(--red);
}


/* =========================================================
   SIDEBAR NOTE
========================================================= */

.sidebar-note {
    padding: 30px;

    background: var(--red);

    color: #fff;
}

.sidebar-note h3 {
    margin: 18px 0 12px;

    color: #fff;

    font-family: "Space Grotesk", sans-serif;

    font-size: 28px;

    line-height: 1.15;
}

.sidebar-note p {
    margin: 0 0 20px;

    color: rgba(255,255,255,.82);

    font-size: 14px;

    line-height: 1.7;
}

.sidebar-note a {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #fff;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .blog-detail-layout {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .blog-sidebar {
        position: static;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .blog-detail-layout {
        gap: 30px;
    }

    .blog-meta {
        gap: 10px 14px;

        font-size: 12px;
    }

    .blog-featured-image {
        margin-bottom: 25px;
    }

    .blog-content {
        font-size: 15px;

        line-height: 1.75;
    }

    .blog-lead {
        font-size: 17px;

        line-height: 1.7;
    }

    .blog-strategy {
        grid-template-columns: 45px 1fr;

        gap: 15px;

        padding: 28px 0;
    }

    .strategy-count {
        width: 42px;
        height: 42px;

        font-size: 11px;
    }

    .strategy-body h2 {
        font-size: 24px;
    }

    .blog-highlight {
        padding: 28px 22px;
    }

    .blog-conclusion {
        padding: 28px 22px;
    }

    .sidebar-block,
    .sidebar-note {
        padding: 22px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .blog-strategy {
        grid-template-columns: 1fr;
    }

    .strategy-count {
        width: 45px;
        height: 45px;
    }

    .strategy-body h2 {
        font-size: 22px;
    }

    .blog-highlight h3 {
        font-size: 25px;
    }

}

.blog-strategy .eyebrow .tag-box {
    display: none;
}
/* =========================================
   BLOG SIDEBAR SEARCH
========================================= */

.search-sidebar {
    margin-bottom: 40px;
}

.blog-search {
    margin-top: 20px;
}

.search-box {
    position: relative;
    width: 100%;
    display: flex;
    align-items: stretch;
}

.search-box input {
    width: 100%;
    height: 52px;
    padding: 0 58px 0 16px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background: #fff;
    color: #111;
    font-size: 14px;
    outline: none;
    transition: all 0.3s ease;
    border-radius: 0;
    box-sizing: border-box;
}

.search-box input::placeholder {
    color: #777;
    opacity: 1;
}

.search-box input:focus {
    border-color: #d10608;
    box-shadow: 0 0 0 2px rgba(209, 6, 8, 0.08);
}

.search-box button {
    position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 52px;
    border: 0;
    background: #d10608;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 0;
}

.search-box button i {
    font-size: 16px;
    line-height: 1;
}

.search-box button:hover {
    background: #060807;
    color: #fff;
}


/* =========================================
   SIDEBAR SEARCH RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .search-sidebar {
        margin-bottom: 35px;
    }

    .search-box input {
        height: 50px;
    }

    .search-box button {
        width: 50px;
        height: 50px;
    }

}


@media (max-width: 575px) {

    .search-sidebar {
        margin-bottom: 30px;
    }

    .search-box input {
        height: 48px;
        padding-left: 14px;
        padding-right: 52px;
        font-size: 13px;
    }

    .search-box button {
        width: 48px;
        height: 48px;
    }

    .search-box button i {
        font-size: 15px;
    }

}

/* ================= ENQUIRY FORM ================= */
.course-enquiry-section{
    padding:70px 0;
    background:var(--paper-2);
    border-top:1px solid rgba(0,0,0,.08);
}
.enquiry-wrap{
    max-width:1150px;
    margin:0 auto;
}
.enquiry-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:start;
}
.enquiry-intro{
    padding:20px 5px;
}
.enquiry-intro h2{
    margin:14px 0 16px;
    font-family:"Space Grotesk",sans-serif;
    font-size:clamp(30px,4vw,48px);
    line-height:1.1;
    color:var(--text);
}
.enquiry-intro p{
    margin:0 0 25px;
    color:var(--muted);
    font-size:16px;
    line-height:1.8;
}
.enquiry-points{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.enquiry-point{
    display:flex;
    gap:12px;
    align-items:flex-start;
}
.enquiry-point i{
    color:var(--red);
    margin-top:4px;
}
.enquiry-point strong{
    display:block;
    margin-bottom:3px;
    font-family:"Space Grotesk",sans-serif;
}
.enquiry-point span{
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}
.enquiry-box{
    background:#fff;
    border:1px solid rgba(0,0,0,.10);
    padding:32px;
    box-shadow:0 15px 40px rgba(0,0,0,.06);
}
.enquiry-box h3{
    margin:0 0 6px;
    font-family:"Space Grotesk",sans-serif;
    font-size:27px;
}
.enquiry-box > p{
    margin:0 0 22px;
    color:var(--muted);
    font-size:14px;
}
.enquiry-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
/*.enquiry-field{
    margin-bottom:16px;
}*/
.enquiry-field label{
    display:block;
    margin-bottom:7px;
    color:var(--text);
    font-size:13px;
    font-weight:600;
}
.enquiry-field input,
.enquiry-field select,
.enquiry-field textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d8d8d8;
    border-radius:3px;
    padding:12px 13px;
    background:#fff;
    color:var(--text);
    font-family:"Inter",sans-serif;
    font-size:14px;
    outline:none;
}
.enquiry-field input,
.enquiry-field select{
    height:46px;
}
.enquiry-field textarea{
    min-height:100px;
    resize:vertical;
}
.enquiry-field input:focus,
.enquiry-field select:focus,
.enquiry-field textarea:focus{
    border-color:var(--red);
    box-shadow:0 0 0 3px rgba(209,6,8,.08);
}
.enquiry-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    cursor:pointer;
}
.enquiry-message{
    display:none;
    margin-top:14px;
    padding:10px 12px;
    font-size:13px;
}
.enquiry-message.success{
    display:block;
    background:#edf8f1;
    color:#176b38;
    border:1px solid #bde5ca;
}
.enquiry-message.error{
    display:block;
    background:#fff0f0;
    color:#a10000;
    border:1px solid #f0bcbc;
}
@media(max-width:767px){
    .course-enquiry-section{padding:50px 0;}
    .enquiry-grid{grid-template-columns:1fr;gap:25px;}
    .enquiry-box{padding:24px 18px;}
    .enquiry-form-row{grid-template-columns:1fr;gap:0;}
    .enquiry-submit{width:100%;}
}

/* ============ AUTH / LOGIN PAGE ============ */
.auth-section{min-height:calc(100vh - 200px); display:flex; align-items:center; justify-content:center; padding:150px 20px 90px; background:var(--paper); position:relative; overflow:hidden;}
.auth-section .dark-ruled{position:absolute; inset:0; opacity:.5; mask-image:linear-gradient(180deg, black, transparent 70%);}
.auth-wrap{width:100%; max-width:960px; display:grid; grid-template-columns:1fr 1fr; background:var(--white); border:1.5px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); overflow:hidden; position:relative; z-index:2;}
.auth-side{background:var(--ink); color:var(--white); padding:52px 42px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;}
.auth-side .hero-blob{position:absolute; border-radius:50%; filter:blur(90px); opacity:.3;}
.auth-side-top{position:relative; z-index:2;}
.auth-side-top .eyebrow{color:rgba(255,255,255,.6);}
.auth-side-top h2{font-size:26px; color:var(--white); margin:14px 0 12px; line-height:1.3;}
.auth-side-top p{color:rgba(255,255,255,.6); font-size:14.5px; line-height:1.7;}
.auth-points{position:relative; z-index:2; display:flex; flex-direction:column; gap:12px; margin-top:24px;}
.auth-points div{display:flex; align-items:center; gap:10px; font-size:13.5px; color:rgba(255,255,255,.8);}
.auth-points div .ic{width:22px; height:22px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.auth-form-side{padding:52px 44px; display:flex; flex-direction:column; justify-content:center;}
.auth-tabs{display:flex; gap:6px; background:var(--paper); border:1.5px solid var(--line); border-radius:100px; padding:4px; margin-bottom:30px;}
.auth-tabs button{flex:1; padding:10px 0; border-radius:100px; font-family:var(--ff-mono); font-weight:600; font-size:13px; color:var(--muted); transition:.3s;}
.auth-tabs button.active{background:var(--ink); color:var(--white);}
.auth-form-side h1{font-size:24px; margin-bottom:6px;}
.auth-form-side .sub{color:var(--muted); font-size:13.5px; margin-bottom:26px;}
.auth-field{margin-bottom:18px;}
.auth-field label{display:block; font-family:var(--ff-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:7px;}
.auth-input-wrap{position:relative;}
.auth-input-wrap svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--muted-light);}
.auth-input-wrap input{width:100%; padding:13px 14px 13px 42px; border:1.5px solid var(--line); border-radius:var(--radius-sm); font-family:var(--ff-body); font-size:14.5px; background:var(--paper); transition:border-color .3s;}
.auth-input-wrap input:focus{outline:none; border-color:var(--red); background:var(--white);}
.auth-input-wrap .toggle-pass{left:auto; right:14px; cursor:pointer;}
.auth-row-between{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; font-size:13px;}
.auth-remember{display:flex; align-items:center; gap:8px; color:var(--muted);}
.auth-row-between a{color:var(--red); font-weight:600;}
.auth-form-side .btn{width:100%; justify-content:center;}
.auth-foot{text-align:center; margin-top:22px; font-size:13.5px; color:var(--muted);}
.auth-foot a{color:var(--red); font-weight:600;}
.auth-error{display:none; background:var(--red-soft); border:1.5px solid var(--red); color:var(--red-deep); border-radius:var(--radius-sm); padding:11px 14px; font-size:13px; margin-bottom:18px; align-items:center; gap:8px;}
.auth-error.show{display:flex;}
@media(max-width:820px){.auth-wrap{grid-template-columns:1fr;} .auth-side{display:none;}}
 /* ============ CONTACT — MOBILE RESPONSIVE ============ */

@media (max-width: 767px){

    .contact-section{
        width:100%;
        max-width:100%;
        overflow:hidden;
    }

    .contact-section .wrap{
        width:100%;
        max-width:100%;
        padding-left:16px;
        padding-right:16px;
    }

    .contact-grid{
        width:100%;
        max-width:100%;
        min-width:0;

        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:30px;
    }

    /* ---------- LEFT CONTENT ---------- */

    .contact-side{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .contact-side h2{
        width:100%;
        max-width:100%;
        font-size:30px;
        line-height:1.15;
        overflow-wrap:anywhere;
    }

    .contact-side p{
        width:100%;
        max-width:100%;
        font-size:14.5px;
        line-height:1.7;
    }

    .contact-methods{
        width:100%;
        max-width:100%;
    }

    .contact-method{
        width:100%;
        max-width:100%;
        min-width:0;
        padding:14px;
        gap:12px;
    }

    .cm-icon{
        width:40px;
        height:40px;
        flex:0 0 40px;
    }

    .cm-text{
        min-width:0;
        max-width:100%;
    }

    .cm-title,
    .cm-sub{
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .cm-sub{
        font-size:11px;
    }


    /* ---------- FORM WRAPPER ---------- */

    .contact-form-wrap{
        width:100%;
        max-width:100%;
        min-width:0;
        overflow:hidden;
    }


    /* ---------- FORM ---------- */

    .enquiry-form{
        width:100%;
        max-width:100%;
        min-width:0;

        padding:22px 16px;

        border-radius:16px;
        overflow:hidden;
    }


    /* ---------- FORM ROW ---------- */

    .form-row{
        width:100%;
        max-width:100%;
        min-width:0;

        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:17px;

        margin-bottom:18px;
    }


    /* ---------- FORM GROUP ---------- */

    .form-group,
    .form-group.full{
        width:100%;
        max-width:100%;
        min-width:0;

        grid-column:auto;
    }


    /* ---------- LABEL ---------- */

    .form-group label{
        display:block;
        width:100%;
        max-width:100%;
        font-size:10px;
    }


    /* ---------- INPUT / SELECT / TEXTAREA ---------- */

    .form-group input,
    .form-group select,
    .form-group textarea{
        display:block;

        width:100%;
        max-width:100%;
        min-width:0;

        padding:10px 0;

        font-size:14px;
    }

    .form-group textarea{
        min-height:90px;
        resize:vertical;
    }


    /* ---------- CAPTCHA ---------- */

    .frontend-captcha-wrap{
        width:100%;
        max-width:100%;
        min-width:0;

        overflow:hidden;
        margin-bottom:15px;
    }

    .g-recaptcha{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:hidden;
    }

    .g-recaptcha > div{
        max-width:100% !important;
    }

    .g-recaptcha iframe{
        max-width:100% !important;
    }


    /* ---------- CAPTCHA RESPONSE ---------- */

    .g-recaptcha-response{
        max-width:100% !important;
    }


    /* ---------- SUBMIT BUTTON ---------- */

    .enquiry-form .btn{
        width:100%;
        max-width:100%;
        min-width:0;

        justify-content:center;

        padding:13px 16px;

        font-size:14px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px){

    .contact-section .wrap{
        padding-left:14px;
        padding-right:14px;
    }
    .btn {
        font-size: 12px;
        padding: 10px 15px;
    }
    .ac-name {
      font-size: 14px;
    }

    .contact-grid{
        gap:25px;
    }

    .contact-side h2{
        font-size:28px;
    }

    .contact-side p{
        font-size:14px;
    }

    .contact-method{
        padding:13px;
    }
}
.blog-reset-btn {
    line-height: 50px;
}
@media (max-width: 767px) {

    .refund-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
        overflow-y: hidden;
    }

    .refund-table {
        width: 100% !important;
        max-width: 100%;
        min-width: 0 !important;
        table-layout: fixed;
        border-collapse: collapse;
    }

    .refund-table th,
    .refund-table td {
        padding: 9px 5px !important;
        font-size: 10px !important;
        line-height: 1.3;
        white-space: normal !important;
        word-break: normal;
        overflow-wrap: break-word;
        vertical-align: middle;
        text-align: center;
    }

    .refund-table th {
        font-size: 8.5px !important;
        line-height: 1.25;
    }

    .refund-table td:first-child {
        text-align: left;
        font-size: 10px !important;
        font-weight: 600;
    }
    .hero-label {
        font-size: 12px !important;
        margin-bottom: 20px !important;
    }

}
/* =========================================================
   FIX: PHONE + STATE ALIGNMENT
   Put this at the VERY END of your CSS
========================================================= */

@media (min-width: 768px) {

    .enquiry-form .form-row {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 24px !important;
        margin-bottom: 18px !important;
        align-items: flex-start !important;
    }

    /* First and second fields exactly 50% */
    .enquiry-form .form-row > .form-group:not(.full) {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        width: calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Full width fields */
    .enquiry-form .form-row > .form-group.full {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Labels */
    .enquiry-form .form-group label {
        display: block !important;
        width: 100% !important;
        margin-bottom: 8px !important;
        box-sizing: border-box !important;
    }

    /* Inputs */
    .enquiry-form .form-group input,
    .enquiry-form .form-group select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    /* Phone field */
    .enquiry-form .form-row:nth-of-type(2) > .form-group:first-child {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        width: calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }

    /* State field */
    .enquiry-form .form-row:nth-of-type(2) > .form-group:nth-child(2) {
        flex: 0 0 calc((100% - 24px) / 2) !important;
        width: calc((100% - 24px) / 2) !important;
        max-width: calc((100% - 24px) / 2) !important;
    }

}
/* =========================================================
   RESULT PAGINATION
========================================================= */

.result-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;

    margin: 35px auto 0;
    padding: 20px 0;

    border-top: 1px solid #e7e3d9;

    width: 100%;
}


/* All pagination items */

.result-pagination .page-numbers {
    min-width: 42px;
    height: 42px;

    padding: 0 13px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #ddd9cf;
    border-radius: 8px;

    background: #fff;

    color: #16213e;

    font-size: 14px;
    font-weight: 600;

    line-height: 1;

    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;

    box-sizing: border-box;
}


/* Hover */

.result-pagination a.page-numbers:hover {
    background: #d9364f;
    border-color: #d9364f;

    color: #fff;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(217, 54, 79, .20);
}


/* Active page */

.result-pagination .page-numbers.current {
    background: #d9364f;

    border-color: #d9364f;

    color: #fff;

    font-weight: 700;

    box-shadow: 0 7px 18px rgba(217, 54, 79, .20);
}


/* Disabled Prev / Next */

.result-pagination .page-numbers.disabled {
    color: #b7b4ad;

    background: #faf9f5;

    border-color: #ebe8df;

    cursor: not-allowed;

    pointer-events: none;
}


/* Prev / Next */

.result-pagination a.page-numbers:first-child,
.result-pagination a.page-numbers:last-child,
.result-pagination .page-numbers.disabled {
    font-weight: 600;
}


/* =========================================================
   PAGINATION CONTAINER
========================================================= */

.result-pagination-wrap {
    text-align: center;
}

.result-pagination-info {
    margin-top: 8px;

    color: #8b8b87;

    font-size: 13px;

    letter-spacing: .02em;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .result-pagination {
        gap: 6px;

        margin-top: 25px;

        padding: 18px 5px;
    }

    .result-pagination .page-numbers {
        min-width: 38px;
        height: 38px;

        padding: 0 10px;

        border-radius: 7px;

        font-size: 13px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .result-pagination {
        gap: 5px;
    }

    .result-pagination .page-numbers {
        min-width: 35px;
        height: 35px;

        padding: 0 8px;

        font-size: 12px;
    }
}
.hostel-service span, .belongings-grid span {
    padding-top: 4px;
}

/* =========================================
   VISION & MISSION CARDS
========================================= */

.vm-boxes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 30px;
}

.vm-card {
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5e8ee;
    border-radius: 16px;
    padding: 22px 22px 24px;
    box-shadow: 0 10px 30px rgba(20, 35, 70, 0.07);
    transition: all 0.35s ease;
}

.vm-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(20, 35, 70, 0.12);
}


/* Top Row */

.vm-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
}

.vm-number {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #c92828;
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
}

.vm-label {
    color: #172d50;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
}


/* Icon */

.vm-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f3f8;
    color: #172d50;
    border-radius: 13px;
    font-size: 21px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.vm-card:hover .vm-icon {
    background: #c92828;
    color: #ffffff;
}


/* Heading */

.vm-card-content {
    position: relative;
    z-index: 2;
}

.vm-card-content h3 {
    margin: 0;
    color: #172d50;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .3px;
}

.vm-line {
    width: 38px;
    height: 3px;
    background: #c92828;
    border-radius: 5px;
    margin: 8px 0 11px;
}

.vm-card-content p {
    margin: 0;
    color: #606b7d;
    font-size: 14px;
    line-height: 1.65;
}


/* Different Top Borders */

.vision-card {
    border-top: 3px solid #172d50;
}

.mission-card {
    border-top: 3px solid #c92828;
}


/* Background Watermark */

.vm-watermark {
    position: absolute;
    right: -8px;
    bottom: -12px;
    font-size: 48px;
    line-height: 1;
    font-weight: 900;
    color: rgba(23, 45, 80, 0.035);
    pointer-events: none;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .vm-boxes {
        grid-template-columns: 1fr;
    }

    .vm-card {
        padding: 22px;
    }

}


@media (max-width: 575px) {

    .vm-boxes {
        gap: 15px;
        margin-top: 25px;
    }

    .vm-card {
        padding: 20px;
        border-radius: 14px;
    }

    .vm-card-content h3 {
        font-size: 19px;
    }

    .vm-card-content p {
        font-size: 13.5px;
        line-height: 1.65;
    }

    .vm-icon {
        width: 48px;
        height: 48px;
        font-size: 19px;
    }

    .vm-watermark {
        font-size: 40px;
    }

}

/* =========================================
   OUR CORE VALUES SECTION
========================================= */

.core-values-section {
    position: relative;
    background: #fff;
    padding: 80px 0;
}


/* =========================================
   SECTION HEADING
========================================= */

.core-values-heading {
    width: 100%;
    max-width: 800px;
    margin: 0 0 42px;
    text-align: left;
}

.core-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #c92828;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.core-values-heading h2 {
    margin: 0;
    color: #172d50;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 800;
    text-align: left;
}

.core-values-heading h2::after {
    content: "";
    display: block;
    width: 55px;
    height: 3px;
    margin: 15px 0 0;
    background: #c92828;
    border-radius: 10px;
}

.core-values-heading p {
    max-width: 650px;
    margin: 18px 0 0;
    color: #687386;
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
}


/* =========================================
   CORE VALUES LIST
========================================= */

.core-values-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}


/* =========================================
   CORE VALUE CARD
========================================= */

.core-value-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 130px;
    padding: 25px 48px 25px 25px;
    background: #ffffff;
    border: 1px solid #e5e8ee;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.35s ease;
}

.core-value-card:hover {
    transform: translateY(-5px);
    border-color: #c92828;
    box-shadow: 0 15px 35px rgba(23, 45, 80, 0.10);
}


/* =========================================
   NUMBER
========================================= */

.core-value-number {
    position: absolute;
    top: 10px;
    left: 15px;
    color: rgba(23, 45, 80, 0.07);
    font-size: 52px;
    line-height: 1;
    font-weight: 900;
    pointer-events: none;
}


/* =========================================
   ICON
========================================= */

.core-value-icon {
    position: relative;
    z-index: 2;

    flex: 0 0 58px;
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef2f7;
    color: #172d50;

    border-radius: 14px;

    font-size: 21px;

    transition: all 0.35s ease;
}

.core-value-card:hover .core-value-icon {
    background: #c92828;
    color: #ffffff;
    transform: rotate(-4deg);
}


/* =========================================
   CONTENT
========================================= */

.core-value-content {
    position: relative;
    z-index: 2;
    padding-right: 10px;
}

.core-value-content h3 {
    margin: 0 0 7px;
    color: #172d50;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 800;
}

.core-value-content p {
    margin: 0;
    color: #687386;
    font-size: 14px;
    line-height: 1.65;
}


/* =========================================
   ARROW
========================================= */

.core-value-arrow {
    position: absolute;
    right: 22px;
    top: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    color: #c92828;
    font-size: 13px;

    transform: translateY(-50%);
    opacity: 0.4;

    transition: all 0.3s ease;
}

.core-value-card:hover .core-value-arrow {
    right: 17px;
    opacity: 1;
}


/* =========================================
   LAST CARD
   01 + 02
   03 + 04
   05 CENTER
========================================= */

.core-value-card:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 10px);
    margin: 0 auto;
}


/* =========================================
   DECORATIVE ACCENT
========================================= */

.core-value-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;

    width: 3px;

    background: #c92828;

    transform: scaleY(0);
    transform-origin: bottom;

    transition: transform 0.35s ease;
}

.core-value-card:hover::before {
    transform: scaleY(1);
}


/* =========================================
   RESPONSIVE - TABLET
========================================= */

@media (max-width: 991px) {

    .core-values-section {
        padding: 65px 0;
    }

    .core-values-heading {
        margin-bottom: 35px;
    }

    .core-values-heading h2 {
        font-size: 32px;
    }

    .core-values-list {
        gap: 16px;
    }

    .core-value-card {
        min-height: 120px;
        padding: 22px 42px 22px 22px;
    }

    .core-value-icon {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
    }

    .core-value-content h3 {
        font-size: 17px;
    }

}


/* =========================================
   RESPONSIVE - MOBILE
========================================= */

@media (max-width: 767px) {

    .core-values-section {
        padding: 50px 15px;
    }

    .core-values-heading {
        margin: 0 0 30px;
        text-align: left;
    }

    .core-kicker {
        font-size: 11px;
        letter-spacing: 1.6px;
    }

    .core-values-heading h2 {
        font-size: 28px;
        text-align: left;
    }

    .core-values-heading h2::after {
        margin-left: 0;
        margin-right: auto;
    }

    .core-values-heading p {
        font-size: 14px;
        line-height: 1.65;
        text-align: left;
    }

    .core-values-list {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .core-value-card {
        width: 100%;
        min-height: 110px;
        padding: 20px 42px 20px 18px;
        gap: 14px;
        border-radius: 14px;
    }

    .core-value-card:last-child {
        grid-column: auto;
        width: 100%;
        margin: 0;
    }

    .core-value-icon {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        border-radius: 12px;
        font-size: 18px;
    }

    .core-value-content h3 {
        margin-bottom: 5px;
        font-size: 16px;
    }

    .core-value-content p {
        font-size: 13.5px;
        line-height: 1.55;
    }

    .core-value-number {
        top: 8px;
        left: 12px;
        font-size: 40px;
    }

    .core-value-arrow {
        right: 15px;
        width: 25px;
        height: 25px;
        font-size: 11px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .core-values-section {
        padding: 45px 12px;
    }

    .core-values-heading h2 {
        font-size: 25px;
    }

    .core-value-card {
        min-height: 105px;
        padding: 18px 38px 18px 16px;
    }

    .core-value-icon {
        flex: 0 0 45px;
        width: 45px;
        height: 45px;
        font-size: 17px;
    }

    .core-value-content h3 {
        font-size: 15px;
    }

    .core-value-content p {
        font-size: 13px;
    }

}

.testimonial-handwritten {
    display: block;
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    object-position: center;
    border-radius: 10px;
    margin-bottom: 20px;
}

.testi-card {
    overflow: hidden;
}

@media (max-width: 767px) {

    .testimonial-handwritten {
        width: 100%;
        max-height: none;
        margin-bottom: 15px;
    }

}
<style>
    .image-popup-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.75);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999;
        padding: 20px;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .image-popup-overlay.show {
        opacity: 1;
        visibility: visible;
    }

    .image-popup {
        position: relative;
        max-width: 700px;
        width: 100%;
        transform: scale(.9);
        transition: all 0.3s ease;
    }

    .image-popup-overlay.show .image-popup {
        transform: scale(1);
    }

    .image-popup a {
        display: block;
    }

    .image-popup img {
        display: block;
        width: 100%;
        height: auto;
        border-radius: 12px;
    }

    .image-popup-close {
        position: absolute;
        top: -15px;
        right: -15px;
        width: 38px;
        height: 38px;
        border: none;
        border-radius: 50%;
        background: #fff;
        color: #111;
        font-size: 25px;
        line-height: 35px;
        cursor: pointer;
        z-index: 2;
        box-shadow: 0 3px 10px rgba(0,0,0,.2);
    }

    @media(max-width: 600px) {
        .image-popup {
            max-width: 95%;
        }

        .image-popup-close {
            right: -5px;
            top: -15px;
        }
    }

/* =========================
   IMAGE POPUP
========================= */

.image-popup-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 20px;
    box-sizing: border-box;

    z-index: 999999;

    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
}

.image-popup-overlay.show {
    opacity: 1;
    visibility: visible;
}


/* Popup */
.image-popup {
    position: relative;

    width: auto;
    max-width: 90vw;
    max-height: 90vh;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Anchor */
.image-popup a {
    display: block;
    line-height: 0;
}


/* Image */
.image-popup img {
    display: block;

    width: auto;
    height: auto;

    max-width: 90vw;
    max-height: 88vh;

    object-fit: contain;

    border-radius: 8px;
}


/* Close Button */
.image-popup-close {
    position: absolute;

    top: -15px;
    right: -15px;

    width: 38px;
    height: 38px;

    border: none;
    border-radius: 50%;

    background: #fff;
    color: #222;

    font-size: 26px;
    line-height: 38px;

    padding: 0;

    cursor: pointer;

    z-index: 10;

    box-shadow: 0 3px 15px rgba(0,0,0,.3);
}

.image-popup-close:hover {
    background: #b32b3b;
    color: #fff;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 767px) {

    .image-popup-overlay {
        padding: 15px;
    }

    .image-popup {
        max-width: 95vw;
        max-height: 90vh;
    }

    .image-popup img {
        max-width: 95vw;
        max-height: 85vh;
        border-radius: 6px;
    }

    .image-popup-close {
        width: 34px;
        height: 34px;

        top: -10px;
        right: -10px;

        font-size: 22px;
        line-height: 34px;
    }
}
