    .gk-st-section {
        background: #f9f9f9;
        padding: 70px 0;
        font-family: "Open Sans", sans-serif;
    }

    .gk-st-section * {
        font-family: "Open Sans", sans-serif;
    }

    .gk-st-head {
        text-align: center;
        max-width: 640px;
        margin: 0 auto 45px;
    }

    .gk-st-tag {
        display: inline-block;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 2px;
        color: #00a1ff;
        background: rgba(0, 161, 255, .1);
        padding: 6px 16px;
        border-radius: 20px;
        margin-bottom: 14px;
    }

    .gk-st-title {
        font-size: 32px;
        font-weight: 800;
        color: #1a2942;
        margin: 0 0 12px;
    }

    .gk-st-title span {
        color: #00a1ff;
    }

    .gk-st-sub {
        color: #6b7280;
        font-size: 15px;
        line-height: 1.6;
        margin: 0;
    }

    .gk-st-cards {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 22px;
        margin-bottom: 60px;
    }

    .gk-st-card {
        background: #fff;
        border-radius: 14px;
        padding: 28px 20px;
        text-align: center;
        box-shadow: 0 4px 18px rgba(20, 30, 60, .06);
        border: 1px solid #eef1f5;
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .gk-st-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 12px 28px rgba(0, 161, 255, .15);
    }

    .gk-st-card-icon {
        width: 56px;
        height: 56px;
        margin: 0 auto 16px;
        border-radius: 50%;
        background: linear-gradient(135deg, #00a1ff, #0072b8);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
    }

    .gk-st-card-icon svg {
        width: 26px;
        height: 26px;
    }

    .gk-st-card h4 {
        font-size: 16px;
        font-weight: 700;
        color: #1a2942;
        margin: 0 0 6px;
    }

    .gk-st-card p {
        font-size: 14px;
        color: #6b7280;
        margin: 0;
        line-height: 1.5;
    }

    .gk-st-card p span {
        display: block;
        font-size: 12.5px;
        color: #9aa3b2;
        margin-top: 2px;
    }

    .gk-st-schedule-wrap {
        background: #fff;
        border-radius: 18px;
        padding: 45px 40px;
        box-shadow: 0 4px 24px rgba(20, 30, 60, .06);
    }

    .gk-st-schedule-title {
        text-align: center;
        font-size: 24px;
        font-weight: 800;
        color: #1a2942;
        margin: 0 0 40px;
    }

    .gk-st-timeline {
        position: relative;
        max-width: 720px;
        margin: 0 auto;
        padding-left: 130px;
    }

    .gk-st-timeline:before {
        content: "";
        position: absolute;
        left: 118px;
        top: 8px;
        bottom: 8px;
        width: 2px;
        background: #e6ebf1;
    }

    .gk-st-item {
        position: relative;
        display: flex;
        align-items: center;
        padding: 14px 0;
    }

    .gk-st-time {
        position: absolute;
        left: -130px;
        top: 50%;
        transform: translateY(-50%);
        width: 100px;
        text-align: right;
        font-weight: 700;
        color: #1a2942;
        font-size: 15px;
        line-height: 1.2;
    }

    .gk-st-time span {
        display: block;
        font-weight: 500;
        font-size: 11.5px;
        color: #9aa3b2;
    }

    .gk-st-dot {
        position: absolute;
        left: -17px;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #00a1ff;
        border: 3px solid #fff;
        box-shadow: 0 0 0 2px #00a1ff;
        z-index: 2;
    }

    .gk-st-body {
        background: #f4f8fc;
        border-radius: 10px;
        padding: 12px 20px;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-left: 3px solid #00a1ff;
    }

    .gk-st-body h5 {
        margin: 0;
        font-size: 15px;
        font-weight: 700;
        color: #1a2942;
    }

    .gk-st-duration {
        font-size: 12.5px;
        font-weight: 600;
        color: #00a1ff;
        background: rgba(0, 161, 255, .1);
        padding: 4px 10px;
        border-radius: 20px;
    }

    .gk-st-special .gk-st-dot {
        background: #ffb020;
        box-shadow: 0 0 0 2px #ffb020;
    }

    .gk-st-special .gk-st-body {
        border-left-color: #ffb020;
        background: #fff8ec;
    }

    .gk-st-special .gk-st-duration {
        color: #c9821a;
        background: rgba(255, 176, 32, .15);
    }

    .gk-st-lunch .gk-st-dot {
        background: #28b463;
        box-shadow: 0 0 0 2px #28b463;
    }

    .gk-st-lunch .gk-st-body {
        border-left-color: #28b463;
        background: #f0fbf4;
    }

    .gk-st-lunch .gk-st-duration {
        color: #1e8a4c;
        background: rgba(40, 180, 99, .15);
    }

    .gk-st-assembly .gk-st-dot {
        background: #8a5cf6;
        box-shadow: 0 0 0 2px #8a5cf6;
    }

    .gk-st-assembly .gk-st-body {
        border-left-color: #8a5cf6;
        background: #f6f2ff;
    }

    .gk-st-assembly .gk-st-duration {
        color: #6d3fd1;
        background: rgba(138, 92, 246, .15);
    }

    .gk-st-legend {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 26px;
        margin-top: 40px;
    }

    .gk-st-legend span {
        display: flex;
        align-items: center;
        font-size: 13px;
        color: #4b5563;
        font-weight: 600;
    }

    .gk-st-legend-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #00a1ff;
        margin-right: 8px;
    }

    .gk-st-legend-dot.gk-st-assembly {
        background: #8a5cf6;
    }

    .gk-st-legend-dot.gk-st-break {
        background: #ffb020;
    }

    .gk-st-legend-dot.gk-st-lunch {
        background: #28b463;
    }

    /* ===== RWD ===== */
    @media (max-width: 991px) {
        .gk-st-cards {
            grid-template-columns: repeat(2, 1fr);
        }

        .gk-st-schedule-wrap {
            padding: 35px 25px;
        }

        .gk-st-timeline {
            padding-left: 110px;
        }

        .gk-st-timeline:before {
            left: 98px;
        }

        .gk-st-time {
            left: -110px;
            width: 85px;
            font-size: 13.5px;
        }

        .gk-st-dot {
            left: -17px;
        }
    }

    @media (max-width: 767px) {
        .gk-st-section {
            padding: 45px 0;
        }

        .gk-st-title {
            font-size: 26px;
        }

        .gk-st-cards {
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
            margin-bottom: 40px;
        }

        .gk-st-card {
            padding: 20px 14px;
        }

        .gk-st-schedule-wrap {
            padding: 28px 18px;
            border-radius: 14px;
        }

        .gk-st-timeline {
            padding-left: 0;
        }

        .gk-st-timeline:before {
            left: 17px;
        }

        .gk-st-item {
            flex-direction: column;
            align-items: flex-start;
            padding: 10px 0 10px 42px;
        }

        .gk-st-time {
            position: static;
            transform: none;
            text-align: left;
            width: auto;
            margin-bottom: 6px;
        }

        .gk-st-dot {
            left: 11px;
            top: 22px;
        }

        .gk-st-body {
            border-left: 3px solid #00a1ff;
        }
    }

    @media (max-width: 575px) {
        .gk-st-cards {
            grid-template-columns: 1fr 1fr;
        }

        .gk-st-card-icon {
            width: 46px;
            height: 46px;
        }

        .gk-st-card-icon svg {
            width: 22px;
            height: 22px;
        }

        .gk-st-legend {
            gap: 14px 20px;
        }
    }

    .gk-un-section{background:#f9f9f9;padding:70px 0;font-family:"Open Sans", sans-serif;}
      .gk-un-section *{font-family:"Open Sans", sans-serif;}

      .gk-un-head{text-align:center;max-width:620px;margin:0 auto 45px;}
      .gk-un-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:2px;color:#00a1ff;background:rgba(0,161,255,.1);padding:6px 16px;border-radius:20px;margin-bottom:14px;}
      .gk-un-title{font-size:32px;font-weight:800;color:#1a2942;margin:0 0 12px;}
      .gk-un-title span{color:#00a1ff;}
      .gk-un-sub{color:#6b7280;font-size:15px;line-height:1.6;margin:0;}

      .gk-un-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:0 auto;}

      .gk-un-card{position:relative;background:#fff;border-radius:16px;padding:32px 30px;box-shadow:0 4px 22px rgba(20,30,60,.06);border:1px solid #eef1f5;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
      .gk-un-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,161,255,.14);}
      .gk-un-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#00a1ff,#0072b8);}
      .gk-un-card-sports:before{background:linear-gradient(90deg,#ff7a3d,#ffb020);}

      .gk-un-badge{position:absolute;top:20px;right:-34px;transform:rotate(45deg);background:#ff7a3d;color:#fff;font-size:10.5px;font-weight:700;letter-spacing:1px;padding:5px 40px;box-shadow:0 3px 8px rgba(255,122,61,.35);}

      .gk-un-card-top{display:flex;align-items:center;gap:16px;margin-bottom:24px;}
      .gk-un-icon{flex-shrink:0;width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#00a1ff,#0072b8);display:flex;align-items:center;justify-content:center;color:#fff;}
      .gk-un-icon-alt{background:linear-gradient(135deg,#ff7a3d,#e8590c);}
      .gk-un-icon svg{width:26px;height:26px;}
      .gk-un-card-top h3{margin:0 0 4px;font-size:18px;font-weight:800;color:#1a2942;}
      .gk-un-days{font-size:12.5px;font-weight:600;color:#9aa3b2;letter-spacing:.5px;}

      .gk-un-list{list-style:none;margin:0;padding:0;}
      .gk-un-list li{display:flex;align-items:center;font-size:14.5px;color:#3c4657;font-weight:600;padding:11px 0;border-bottom:1px dashed #edf1f5;}
      .gk-un-list li:last-child{border-bottom:none;}
      .gk-un-list li em{color:#9aa3b2;font-style:normal;font-weight:500;margin-left:5px;}

      .gk-un-dot{width:11px;height:11px;border-radius:4px;margin-right:14px;flex-shrink:0;border:1px solid rgba(0,0,0,.08);}
      .gk-un-blue{background:#0d6efd;}
      .gk-un-grey{background:#6b7280;}
      .gk-un-black{background:#1a2942;}
      .gk-un-white{background:#fff;border-color:#c9d0da;}
      .gk-un-house{background:linear-gradient(135deg,#ff7a3d,#ffb020);border:none;}

      .gk-un-footnote{display:flex;align-items:center;gap:12px;max-width:920px;margin:36px auto 0;background:#fff8ec;border:1px solid #ffe6bf;color:#8a5a12;font-size:13.5px;font-weight:600;padding:16px 22px;border-radius:12px;}
      .gk-un-footnote svg{width:22px;height:22px;flex-shrink:0;color:#e8590c;}

      /* ===== RWD ===== */
      @media (max-width: 991px){
         .gk-un-grid{grid-template-columns:1fr;max-width:520px;}
      }

      @media (max-width: 767px){
         .gk-un-section{padding:45px 0;}
         .gk-un-title{font-size:26px;}
         .gk-un-card{padding:26px 22px;}
         .gk-un-footnote{flex-direction:row;align-items:flex-start;font-size:13px;}
      }

      @media (max-width: 575px){
         .gk-un-card-top{gap:12px;}
         .gk-un-icon{width:46px;height:46px;}
         .gk-un-icon svg{width:22px;height:22px;}
         .gk-un-card-top h3{font-size:16px;}
         .gk-un-badge{top:16px;right:-38px;font-size:9.5px;padding:4px 38px;}
      }

            .gk-rr-section{background:#f9f9f9;padding:70px 0;font-family:"Open Sans", sans-serif;}
      .gk-rr-section *{font-family:"Open Sans", sans-serif;}

      .gk-rr-head{text-align:center;max-width:640px;margin:0 auto 45px;}
      .gk-rr-tag{display:inline-block;font-size:13px;font-weight:700;letter-spacing:2px;color:#00a1ff;background:rgba(0,161,255,.1);padding:6px 16px;border-radius:20px;margin-bottom:14px;}
      .gk-rr-title{font-size:32px;font-weight:800;color:#1a2942;margin:0 0 12px;}
      .gk-rr-title span{color:#00a1ff;}
      .gk-rr-sub{color:#6b7280;font-size:15px;line-height:1.6;margin:0;}

      .gk-rr-panel{background:#fff;border-radius:16px;padding:34px 34px 10px;box-shadow:0 4px 22px rgba(20,30,60,.06);border:1px solid #eef1f5;max-width:900px;margin:0 auto 30px;}

      .gk-rr-panel-head{display:flex;align-items:center;gap:16px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #edf1f5;}
      .gk-rr-panel-icon{flex-shrink:0;width:52px;height:52px;border-radius:13px;background:linear-gradient(135deg,#00a1ff,#0072b8);display:flex;align-items:center;justify-content:center;color:#fff;}
      .gk-rr-icon-alt{background:linear-gradient(135deg,#ff7a3d,#e8590c);}
      .gk-rr-panel-icon svg{width:24px;height:24px;}
      .gk-rr-panel-num{display:block;font-size:11.5px;font-weight:700;letter-spacing:1.5px;color:#00a1ff;margin-bottom:3px;}
      .gk-rr-num-alt{color:#e8590c;}
      .gk-rr-panel-head h3{margin:0;font-size:19px;font-weight:800;color:#1a2942;}

      .gk-rr-list{list-style:none;margin:0;padding:0;counter-reset:none;}
      .gk-rr-list li{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px dashed #edf1f5;}
      .gk-rr-list li:last-child{border-bottom:none;}
      .gk-rr-num{flex-shrink:0;width:30px;height:30px;border-radius:9px;background:rgba(0,161,255,.1);color:#00a1ff;font-size:13.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
      .gk-rr-list-alt .gk-rr-num{background:rgba(232,89,12,.1);color:#e8590c;}
      .gk-rr-list li p{margin:0;font-size:14.5px;line-height:1.7;color:#4b5567;text-align:justify;padding-top:3px;}

      /* ===== RWD ===== */
      @media (max-width: 991px){
         .gk-rr-panel{padding:28px 26px 8px;}
      }

      @media (max-width: 767px){
         .gk-rr-section{padding:45px 0;}
         .gk-rr-title{font-size:26px;}
         .gk-rr-panel{padding:24px 18px 6px;border-radius:14px;}
         .gk-rr-panel-head{gap:12px;margin-bottom:20px;padding-bottom:18px;}
         .gk-rr-panel-icon{width:44px;height:44px;}
         .gk-rr-panel-icon svg{width:20px;height:20px;}
         .gk-rr-panel-head h3{font-size:16.5px;}
         .gk-rr-list li{gap:12px;padding:13px 0;}
         .gk-rr-num{width:26px;height:26px;font-size:12px;border-radius:8px;}
         .gk-rr-list li p{font-size:13.5px;line-height:1.6;}
      }

      @media (max-width: 575px){
         .gk-rr-panel{padding:20px 14px 4px;}
         .gk-rr-list li p{text-align:left;}
      }
          .gk-pc-section {
        background: #fbf9f4;
        padding: 70px 0;
    }

    .gk-pc-intro {
        max-width: 820px;
        margin: 0 auto 45px;
        text-align: center;
    }

    .gk-pc-eyebrow {
        display: inline-block;
        font-size: 13px;
        letter-spacing: 2px;
        font-weight: 700;
        color: #c99b2e;
        text-transform: uppercase;
        padding: 6px 18px;
        border: 1px solid #e6cf8f;
        border-radius: 30px;
        margin-bottom: 16px;
        background: #fff8e8;
    }

    .gk-pc-title {
        font-size: 32px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 14px;
    }

    .gk-pc-title span {
        color: #00a1ff;
    }

    .gk-pc-title:after {
        content: "";
        display: block;
        width: 70px;
        height: 3px;
        background: linear-gradient(90deg, #00a1ff, #c99b2e);
        margin: 16px auto 0;
        border-radius: 3px;
    }

    .gk-pc-lead {
        font-size: 15.5px;
        color: #5a6472;
        line-height: 1.8;
    }

    .gk-pc-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
        max-width: 1080px;
        margin: 0 auto 50px;
    }

    .gk-pc-card {
        background: #ffffff;
        border: 1px solid #eef1f5;
        border-radius: 14px;
        padding: 28px 26px 26px;
        box-shadow: 0 6px 18px rgba(18, 41, 74, 0.05);
        position: relative;
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .gk-pc-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 30px rgba(18, 41, 74, 0.10);
    }

    .gk-pc-card:nth-child(4),
    .gk-pc-card:nth-child(5) {
        grid-column: span 1;
    }

    .gk-pc-num {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: #12294a;
        color: #fff;
        font-weight: 700;
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 16px;
    }

    .gk-pc-card:nth-child(odd) .gk-pc-num {
        background: #00a1ff;
    }

    .gk-pc-card:nth-child(even) .gk-pc-num {
        background: #c99b2e;
    }

    .gk-pc-card p {
        font-size: 14.5px;
        color: #4c5766;
        line-height: 1.85;
        text-align: justify;
        margin: 0;
    }

    .gk-pc-declare {
        max-width: 900px;
        margin: 0 auto;
        background: #12294a;
        border-radius: 18px;
        padding: 44px 40px;
        position: relative;
        overflow: hidden;
    }

    .gk-pc-declare:before {
        content: "";
        position: absolute;
        top: -60px;
        right: -60px;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(0, 161, 255, 0.15);
    }

    .gk-pc-declare:after {
        content: "";
        position: absolute;
        bottom: -70px;
        left: -40px;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: rgba(201, 155, 46, 0.15);
    }

    .gk-pc-declare-inner {
        position: relative;
        z-index: 2;
    }

    .gk-pc-declare h4 {
        color: #fff;
        font-size: 19px;
        font-weight: 700;
        text-align: center;
        line-height: 1.6;
        margin: 0 0 34px;
    }

    .gk-pc-sign-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        margin-bottom: 26px;
    }

    .gk-pc-sign-box {
        background: rgba(255, 255, 255, 0.06);
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 10px;
        padding: 22px 20px;
    }

    .gk-pc-sign-tag {
        display: inline-block;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1px;
        color: #00a1ff;
        text-transform: uppercase;
        margin-bottom: 10px;
    }

    .gk-pc-sign-line {
        border-bottom: 1px solid rgba(255, 255, 255, 0.35);
        height: 34px;
    }

    .gk-pc-sign-label {
        color: #c7d2e0;
        font-size: 13px;
        margin-top: 10px;
    }

    .gk-pc-date {
        text-align: center;
    }

    .gk-pc-date span {
        display: inline-block;
        min-width: 220px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.35);
        padding-bottom: 8px;
        color: #c7d2e0;
        font-size: 14px;
    }

    @media(max-width:991px) {
        .gk-pc-section {
            padding: 55px 0;
        }

        .gk-pc-title {
            font-size: 27px;
        }

        .gk-pc-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 18px;
        }

        .gk-pc-declare {
            padding: 36px 26px;
        }
    }

    @media(max-width:767px) {
        .gk-pc-grid {
            grid-template-columns: 1fr;
        }

        .gk-pc-sign-row {
            grid-template-columns: 1fr;
            gap: 18px;
        }

        .gk-pc-declare h4 {
            font-size: 17px;
            margin-bottom: 26px;
        }
    }

    @media(max-width:575px) {
        .gk-pc-section {
            padding: 40px 0;
        }

        .gk-pc-title {
            font-size: 23px;
        }

        .gk-pc-card {
            padding: 22px 20px;
        }

        .gk-pc-declare {
            padding: 28px 18px;
            border-radius: 14px;
        }

        .gk-pc-date span {
            min-width: 100%;
        }
    }
        .gk-pc-subhead {
        display: flex;
        align-items: center;
        gap: 14px;
        max-width: 1080px;
        margin: 0 auto 24px;
    }

    .gk-pc-subhead span.gk-pc-subhead-txt {
        font-size: 20px;
        font-weight: 800;
        color: #12294a;
        white-space: nowrap;
    }

    .gk-pc-subhead:after {
        content: "";
        flex: 1;
        height: 2px;
        background: linear-gradient(90deg, #e6cf8f, transparent);
    }

    .gk-pc-block {
        max-width: 1080px;
        margin: 0 auto 50px;
    }

    .gk-pc-pattern-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 22px;
    }

    .gk-pc-pattern-card {
        background: #ffffff;
        border: 1px solid #eef1f5;
        border-radius: 14px;
        padding: 26px 26px 24px;
        box-shadow: 0 6px 18px rgba(18, 41, 74, 0.05);
    }

    .gk-pc-pattern-head {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 18px;
    }

    .gk-pc-pattern-badge {
        width: 36px;
        height: 36px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        font-size: 13px;
        color: #fff;
    }

    .gk-pc-pattern-card:nth-child(1) .gk-pc-pattern-badge {
        background: #00a1ff;
    }

    .gk-pc-pattern-card:nth-child(2) .gk-pc-pattern-badge {
        background: #c99b2e;
    }

    .gk-pc-pattern-title {
        font-size: 15.5px;
        font-weight: 700;
        color: #12294a;
    }

    .gk-pc-pattern-note {
        font-size: 13.5px;
        color: #5a6472;
        margin: 0 0 16px;
        line-height: 1.7;
    }

    .gk-pc-chip-list {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
    }

    .gk-pc-chip {
        font-size: 12.5px;
        font-weight: 600;
        color: #12294a;
        background: #f3f6fa;
        border: 1px solid #e3e9f0;
        border-radius: 20px;
        padding: 6px 14px;
    }

    .gk-pc-pattern-card:nth-child(1) .gk-pc-chip {
        background: #eaf7ff;
        border-color: #cdeeff;
    }

    .gk-pc-pattern-card:nth-child(2) .gk-pc-chip {
        background: #fdf6e6;
        border-color: #f0e2b8;
    }

    .gk-pc-declare2 {
        max-width: 1080px;
        margin: 0 auto;
        background: #12294a;
        border-radius: 18px;
        padding: 40px 40px;
        position: relative;
        overflow: hidden;
    }

    .gk-pc-declare2:before {
        content: "";
        position: absolute;
        top: -60px;
        left: -50px;
        width: 170px;
        height: 170px;
        border-radius: 50%;
        background: rgba(0, 161, 255, 0.15);
    }

    .gk-pc-declare2:after {
        content: "";
        position: absolute;
        bottom: -70px;
        right: -40px;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: rgba(201, 155, 46, 0.15);
    }

    .gk-pc-declare2-inner {
        position: relative;
        z-index: 2;
    }

    .gk-pc-declare2 p {
        color: #e5ebf3;
        font-size: 15px;
        line-height: 1.85;
        text-align: center;
        max-width: 760px;
        margin: 0 auto 32px;
    }

    .gk-pc-declare2 p b {
        color: #fff;
    }

    .gk-pc-declare2-foot {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 20px;
    }

    .gk-pc-declare2-item {
        min-width: 220px;
    }

    .gk-pc-declare2-item.gk-pc-align-right {
        text-align: right;
        margin-left: auto;
    }

    .gk-pc-declare2-line {
        border-bottom: 1px solid rgba(255, 255, 255, 0.35);
        height: 30px;
    }

    .gk-pc-declare2-label {
        color: #c7d2e0;
        font-size: 13px;
        margin-top: 10px;
        letter-spacing: .5px;
        text-transform: uppercase;
    }

    @media(max-width:991px) {
        .gk-pc-pattern-wrap {
            grid-template-columns: 1fr;
        }

        .gk-pc-declare2 {
            padding: 34px 26px;
        }
    }

    @media(max-width:767px) {
        .gk-pc-subhead span.gk-pc-subhead-txt {
            font-size: 18px;
        }

        .gk-pc-declare2-foot {
            flex-direction: column;
            align-items: stretch;
            gap: 22px;
        }

        .gk-pc-declare2-item.gk-pc-align-right {
            text-align: left;
            margin-left: 0;
        }
    }

    @media(max-width:575px) {
        .gk-pc-pattern-card {
            padding: 20px 18px;
        }

        .gk-pc-declare2 {
            padding: 26px 18px;
            border-radius: 14px;
        }
    }
    .gk-gb-section {
        background: #fbf9f4;
        padding: 70px 0;
    }

    .gk-gb-intro {
        max-width: 760px;
        margin: 0 auto 60px;
        text-align: center;
    }

    .gk-gb-eyebrow {
        display: inline-block;
        font-size: 13px;
        letter-spacing: 2px;
        font-weight: 700;
        color: #c99b2e;
        text-transform: uppercase;
        padding: 6px 18px;
        border: 1px solid #e6cf8f;
        border-radius: 30px;
        margin-bottom: 16px;
        background: #fff8e8;
    }

    .gk-gb-title {
        font-size: 32px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 14px;
    }

    .gk-gb-title span {
        color: #00a1ff;
    }

    .gk-gb-title:after {
        content: "";
        display: block;
        width: 70px;
        height: 3px;
        background: linear-gradient(90deg, #00a1ff, #c99b2e);
        margin: 16px auto 0;
        border-radius: 3px;
    }

    .gk-gb-lead {
        font-size: 15.5px;
        color: #5a6472;
        line-height: 1.8;
    }

    .gk-gb-strand {
        position: relative;
        max-width: 880px;
        margin: 0 auto;
        padding: 10px 0;
    }

    .gk-gb-strand:before {
        content: "";
        position: absolute;
        left: 50%;
        top: 6px;
        bottom: 6px;
        width: 3px;
        background: linear-gradient(180deg, #00a1ff, #c99b2e 50%, #12294a);
        transform: translateX(-50%);
        border-radius: 3px;
        opacity: .35;
    }

    .gk-gb-row {
        display: flex;
        align-items: center;
        position: relative;
        margin-bottom: 30px;
    }

    .gk-gb-row:last-child {
        margin-bottom: 0;
    }

    .gk-gb-row:nth-child(even) {
        flex-direction: row-reverse;
    }

    .gk-gb-gem {
        flex: 0 0 auto;
        width: 58px;
        height: 58px;
        clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-weight: 800;
        font-size: 16px;
        position: relative;
        z-index: 2;
        box-shadow: 0 6px 14px rgba(18, 41, 74, 0.22);
    }

    .gk-gb-row:nth-child(6n+1) .gk-gb-gem {
        background: linear-gradient(135deg, #00a1ff, #0072b8);
    }

    .gk-gb-row:nth-child(6n+2) .gk-gb-gem {
        background: linear-gradient(135deg, #dcb24f, #b8862a);
    }

    .gk-gb-row:nth-child(6n+3) .gk-gb-gem {
        background: linear-gradient(135deg, #2e4d7a, #12294a);
    }

    .gk-gb-row:nth-child(6n+4) .gk-gb-gem {
        background: linear-gradient(135deg, #00c2b8, #009e94);
    }

    .gk-gb-row:nth-child(6n+5) .gk-gb-gem {
        background: linear-gradient(135deg, #e08a3c, #c96a1f);
    }

    .gk-gb-row:nth-child(6n+6) .gk-gb-gem {
        background: linear-gradient(135deg, #00a1ff, #c99b2e);
    }

    .gk-gb-connector {
        flex: 0 0 42px;
        height: 2px;
        background: linear-gradient(90deg, rgba(0, 0, 0, .12), transparent);
    }

    .gk-gb-row:nth-child(even) .gk-gb-connector {
        background: linear-gradient(270deg, rgba(0, 0, 0, .12), transparent);
    }

    .gk-gb-card {
        flex: 1 1 auto;
        background: #ffffff;
        border: 1px solid #eef1f5;
        border-radius: 12px;
        padding: 16px 22px;
        box-shadow: 0 6px 16px rgba(18, 41, 74, 0.06);
        font-size: 14.5px;
        color: #3f4b59;
        line-height: 1.7;
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .gk-gb-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 26px rgba(18, 41, 74, 0.1);
    }

    .gk-gb-row:nth-child(odd) .gk-gb-card {
        text-align: right;
    }

    .gk-gb-row:nth-child(even) .gk-gb-card {
        text-align: left;
    }

    @media(max-width:767px) {
        .gk-gb-section {
            padding: 50px 0;
        }

        .gk-gb-title {
            font-size: 26px;
        }

        .gk-gb-strand:before {
            left: 29px;
        }

        .gk-gb-row,
        .gk-gb-row:nth-child(even) {
            flex-direction: row;
        }

        .gk-gb-row:nth-child(even) .gk-gb-connector {
            background: linear-gradient(90deg, rgba(0, 0, 0, .12), transparent);
        }

        .gk-gb-row:nth-child(odd) .gk-gb-card,
        .gk-gb-row:nth-child(even) .gk-gb-card {
            text-align: left;
        }

        .gk-gb-connector {
            flex: 0 0 22px;
        }

        .gk-gb-gem {
            width: 48px;
            height: 48px;
            font-size: 14px;
        }
    }

    @media(max-width:575px) {
        .gk-gb-card {
            padding: 13px 16px;
            font-size: 13.5px;
        }

        .gk-gb-gem {
            width: 42px;
            height: 42px;
            font-size: 13px;
        }

        .gk-gb-strand:before {
            left: 26px;
        }

        .gk-gb-connector {
            flex: 0 0 14px;
        }
    }
       .gk-pr-section {
      background: #fbf9f4;
      padding: 70px 0;
   }

   .gk-pr-intro {
      max-width: 760px;
      margin: 0 auto 46px;
      text-align: center;
   }

   .gk-pr-eyebrow {
      display: inline-block;
      font-size: 13px;
      letter-spacing: 2px;
      font-weight: 700;
      color: #c99b2e;
      text-transform: uppercase;
      padding: 6px 18px;
      border: 1px solid #e6cf8f;
      border-radius: 30px;
      margin-bottom: 16px;
      background: #fff8e8;
   }

   .gk-pr-title {
      font-size: 32px;
      font-weight: 800;
      color: #12294a;
      margin: 0 0 14px;
   }

   .gk-pr-title span {
      color: #00a1ff;
   }

   .gk-pr-title:after {
      content: "";
      display: block;
      width: 70px;
      height: 3px;
      background: linear-gradient(90deg, #00a1ff, #c99b2e);
      margin: 16px auto 0;
      border-radius: 3px;
   }

   .gk-pr-lead {
      font-size: 15.5px;
      color: #5a6472;
      line-height: 1.8;
   }

   .gk-pr-wrap {
      max-width: 1080px;
      margin: 0 auto;
      display: flex;
      gap: 30px;
      align-items: flex-start;
      background: #ffffff;
      border-radius: 18px;
      box-shadow: 0 10px 34px rgba(18, 41, 74, 0.08);
      overflow: hidden;
      border: 1px solid #eef1f5;
   }

   /* tab list - reuses bootstrap nav-tabs/nav-item/nav-link structure, restyled as vertical pills */
   .gk-pr-tablist {
      flex: 0 0 280px;
      background: #12294a;
      padding: 34px 22px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      border: 0;
   }

   .gk-pr-tablist .nav-item {
      list-style: none;
   }

   .gk-pr-tablist .nav-link {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .3px;
      color: #c7d2e0;
      background: transparent;
      border: 1px solid transparent;
      border-radius: 10px;
      padding: 13px 16px;
      cursor: pointer;
      transition: background .2s ease, color .2s ease, border-color .2s ease;
   }

   .gk-pr-tablist .nav-link .gk-pr-ico {
      flex: 0 0 auto;
      width: 20px;
      height: 20px;
      opacity: .85;
   }

   .gk-pr-tablist .nav-link .gk-pr-ico svg {
      width: 20px;
      height: 20px;
      fill: currentColor;
   }

   .gk-pr-tablist .nav-link:hover {
      background: rgba(255, 255, 255, 0.06);
      color: #fff;
   }

   .gk-pr-tablist .nav-link.active {
      background: linear-gradient(90deg, #00a1ff, #0072b8);
      color: #fff;
      border-color: transparent;
      box-shadow: 0 6px 16px rgba(0, 161, 255, 0.35);
   }

   /* content panel */
   .gk-pr-panel {
      flex: 1 1 auto;
      padding: 44px 46px;
      position: relative;
      min-width: 0;
   }

   .gk-pr-panel:before {
      content: "\201C";
      position: absolute;
      top: 6px;
      left: 30px;
      font-size: 90px;
      font-family: Georgia, 'Times New Roman', serif;
      color: #f0ede3;
      line-height: 1;
      z-index: 0;
   }

   .gk-pr-card {
      position: relative;
      z-index: 1;
   }

   .gk-pr-card-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 18px;
   }

   .gk-pr-card-badge {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #c99b2e;
   }

   .gk-pr-card-tag {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #c99b2e;
   }

   .gk-pr-text {
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 17px;
      line-height: 2;
      color: #2c3646;
   }

   .gk-pr-text p {
      margin: 0 0 18px;
   }

   .gk-pr-text p:last-child {
      margin-bottom: 0;
   }

   @media(max-width:991px) {
      .gk-pr-wrap {
         flex-direction: column;
      }

      .gk-pr-tablist {
         flex-direction: row;
         flex-wrap: nowrap;
         overflow-x: auto;
         width: 100%;
         padding: 20px;
         gap: 10px;
         -webkit-overflow-scrolling: touch;
      }

      .gk-pr-tablist .nav-item {
         flex: 0 0 auto;
      }

      .gk-pr-tablist .nav-link {
         white-space: nowrap;
      }

      .gk-pr-panel {
         padding: 34px 28px;
      }

      .gk-pr-panel:before {
         font-size: 70px;
         left: 18px;
      }
   }

   @media(max-width:767px) {
      .gk-pr-section {
         padding: 50px 0;
      }

      .gk-pr-title {
         font-size: 26px;
      }

      .gk-pr-text {
         font-size: 15.5px;
         line-height: 1.9;
      }
   }

   @media(max-width:575px) {
      .gk-pr-panel {
         padding: 28px 18px;
      }

      .gk-pr-tablist {
         padding: 16px;
      }

      .gk-pr-tablist .nav-link {
         padding: 10px 13px;
         font-size: 12px;
      }

      .gk-pr-panel:before {
         font-size: 56px;
         top: 0;
         left: 12px;
      }
   }
       .gk-hs-img-frame {
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 12px 28px rgba(18, 41, 74, 0.14);
        border: 4px solid #ffffff;
        outline: 1px solid #eadfba;
    }

    .gk-hs-img-frame img {
        width: 100%;
        height: auto;
        display: block;
    }

    .gk-hs-title {
        font-size: 24px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 20px;
        padding-left: 16px;
        border-left: 4px solid #c99b2e;
    }

    .gk-hs-title span {
        color: #00a1ff;
    }

    .gk-hs-copy p {
        text-align: justify;
        line-height: 1.85;
        color: #4c5766;
        margin-bottom: 18px;
    }

    .gk-hs-copy p:last-child {
        margin-bottom: 0;
    }

    .gk-hs-copy strong.gk-hs-yr {
        color: #c99b2e;
    }

    @media(max-width:767px) {
        .gk-hs-title {
            font-size: 20px;
        }

        .gk-hs-img-frame {
            margin-bottom: 26px;
        }
    }
     .gk-sm-title {
        font-size: 24px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 10px;
        padding-left: 16px;
        border-left: 4px solid #c99b2e;
    }

    .gk-sm-title span {
        color: #00a1ff;
    }

    


    .gk-sm-copy p {
        text-align: justify;
        line-height: 1.85;
        color: #4c5766;
        margin-bottom: 18px;
    }

    .gk-sm-copy p:last-child {
        margin-bottom: 0;
    }

    .gk-sm-pull {
        position: relative;
        background: #ffffff;
        border-left: 4px solid #00a1ff;
        border-radius: 8px;
        padding: 16px 22px;
        margin: 24px 0;
        box-shadow: 0 6px 16px rgba(18, 41, 74, 0.05);
        font-style: italic;
        color: #12294a;
        font-size: 15px;
    }

    @media(max-width:767px) {
        .gk-sm-title {
            font-size: 20px;
        }

    }
        .gk-ex-section {
        background: #fbf9f4;
        padding: 70px 0;
    }

    .gk-ex-intro {
        max-width: 760px;
        margin: 0 auto 46px;
        text-align: center;
    }

    .gk-ex-eyebrow {
        display: inline-block;
        font-size: 13px;
        letter-spacing: 2px;
        font-weight: 700;
        color: #c99b2e;
        text-transform: uppercase;
        padding: 6px 18px;
        border: 1px solid #e6cf8f;
        border-radius: 30px;
        margin-bottom: 16px;
        background: #fff8e8;
    }

    .gk-ex-title {
        font-size: 32px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 14px;
    }

    .gk-ex-title span {
        color: #00a1ff;
    }

    .gk-ex-title:after {
        content: "";
        display: block;
        width: 70px;
        height: 3px;
        background: linear-gradient(90deg, #00a1ff, #c99b2e);
        margin: 16px auto 0;
        border-radius: 3px;
    }

    .gk-ex-lead {
        font-size: 15.5px;
        color: #5a6472;
        line-height: 1.8;
    }

    .gk-ex-grid {
        max-width: 1080px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .gk-ex-card {
        position: relative;
        background: #ffffff;
        border: 1px solid #eef1f5;
        border-radius: 14px;
        padding: 26px 20px 22px;
        overflow: hidden;
        box-shadow: 0 6px 18px rgba(18, 41, 74, 0.05);
        transition: transform .2s ease, box-shadow .2s ease;
        min-height: 150px;
        display: flex;
        align-items: flex-end;
    }

    .gk-ex-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 30px rgba(18, 41, 74, 0.1);
    }

    .gk-ex-num {
        position: absolute;
        top: -6px;
        right: 6px;
        font-size: 64px;
        font-weight: 800;
        line-height: 1;
        color: #12294a;
        opacity: .06;
        font-family: Georgia, 'Times New Roman', serif;
    }

    .gk-ex-card:nth-child(3n+2) .gk-ex-num {
        color: #00a1ff;
    }

    .gk-ex-card:nth-child(3n+3) .gk-ex-num {
        color: #c99b2e;
    }

    .gk-ex-txt {
        position: relative;
        z-index: 1;
        font-size: 14.5px;
        font-weight: 600;
        color: #2c3646;
        line-height: 1.6;
    }

    .gk-ex-card:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: #12294a;
    }

    .gk-ex-card:nth-child(3n+2):before {
        background: #00a1ff;
    }

    .gk-ex-card:nth-child(3n+3):before {
        background: #c99b2e;
    }

    @media(max-width:991px) {
        .gk-ex-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media(max-width:767px) {
        .gk-ex-section {
            padding: 50px 0;
        }

        .gk-ex-title {
            font-size: 26px;
        }

        .gk-ex-grid {
            grid-template-columns: 1fr;
            gap: 14px;
        }

        .gk-ex-card {
            min-height: auto;
            padding: 20px 18px;
        }

        .gk-ex-num {
            font-size: 50px;
        }
    }

    @media(max-width:575px) {
        .gk-ex-card {
            padding: 18px 16px;
        }

        .gk-ex-txt {
            font-size: 14px;
        }
    }

        .gk-ct-section {
        background: #fbf9f4;
        padding: 80px 0 70px;
    }

    .gk-ct-intro {
        max-width: 760px;
        margin: 0 auto 46px;
        text-align: center;
    }

    .gk-ct-eyebrow {
        display: inline-block;
        font-size: 13px;
        letter-spacing: 2px;
        font-weight: 700;
        color: #c99b2e;
        text-transform: uppercase;
        padding: 6px 18px;
        border: 1px solid #e6cf8f;
        border-radius: 30px;
        margin-bottom: 16px;
        background: #fff8e8;
    }

    .gk-ct-title {
        font-size: 32px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 14px;
    }

    .gk-ct-title span {
        color: #00a1ff;
    }

    .gk-ct-title:after {
        content: "";
        display: block;
        width: 70px;
        height: 3px;
        background: linear-gradient(90deg, #00a1ff, #c99b2e);
        margin: 16px auto 0;
        border-radius: 3px;
    }

    .gk-ct-lead {
        font-size: 15.5px;
        color: #5a6472;
        line-height: 1.8;
    }

    .gk-ct-grid {
        max-width: 1080px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .gk-ct-card {
        background: #ffffff;
        border: 1px solid #eef1f5;
        border-radius: 16px;
        padding: 34px 26px;
        text-align: center;
        box-shadow: 0 8px 22px rgba(18, 41, 74, 0.06);
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .gk-ct-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 32px rgba(18, 41, 74, 0.12);
    }

    .gk-ct-icon {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        margin: 0 auto 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 22px;
    }

    .gk-ct-card:nth-child(1) .gk-ct-icon {
        background: linear-gradient(135deg, #00a1ff, #0072b8);
    }

    .gk-ct-card:nth-child(2) .gk-ct-icon {
        background: linear-gradient(135deg, #dcb24f, #b8862a);
    }

    .gk-ct-card:nth-child(3) .gk-ct-icon {
        background: linear-gradient(135deg, #12294a, #2e4d7a);
    }

    .gk-ct-card h2 {
        font-size: 16px;
        font-weight: 800;
        color: #12294a;
        margin: 0 0 12px;
        text-transform: uppercase;
        letter-spacing: .5px;
    }

    .gk-ct-card p {
        font-size: 14px;
        color: #5a6472;
        line-height: 1.75;
        margin: 0;
    }

    .gk-ct-card ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .gk-ct-card ul li {
        font-size: 14.5px;
        color: #3f4b59;
        font-weight: 600;
        line-height: 1.9;
    }

    .gk-ct-card a {
        color: inherit;
        text-decoration: none;
    }

    .gk-ct-card a:hover {
        color: #00a1ff;
    }

    .gk-ct-map-wrap {
        max-width: 1150px;
        margin: 56px auto 0;
        padding: 0 15px;
    }

    .gk-ct-map-frame {
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 14px 32px rgba(18, 41, 74, 0.12);
        border: 1px solid #eef1f5;
        position: relative;
    }

    .gk-ct-map-head {
        background: #12294a;
        color: #fff;
        padding: 16px 26px;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: .5px;
        text-transform: uppercase;
    }

    .gk-ct-map-head svg {
        width: 18px;
        height: 18px;
        fill: #00a1ff;
        flex: 0 0 auto;
    }

    .gk-ct-map-frame iframe {
        display: block;
        width: 100%;
        height: 420px;
        border: 0;
    }

    @media(max-width:991px) {
        .gk-ct-grid {
            grid-template-columns: 1fr 1fr;
        }

        .gk-ct-card:nth-child(3) {
            grid-column: span 2;
            max-width: 420px;
            margin: 0 auto;
        }
    }

    @media(max-width:767px) {
        .gk-ct-section {
            padding: 56px 0 50px;
        }

        .gk-ct-title {
            font-size: 26px;
        }

        .gk-ct-grid {
            grid-template-columns: 1fr;
        }

        .gk-ct-card:nth-child(3) {
            grid-column: auto;
            max-width: none;
        }

        .gk-ct-map-frame iframe {
            height: 320px;
        }

        .gk-ct-map-wrap {
            margin-top: 40px;
        }
    }

    @media(max-width:575px) {
        .gk-ct-card {
            padding: 26px 20px;
        }

        .gk-ct-icon {
            width: 54px;
            height: 54px;
            font-size: 18px;
        }

        .gk-ct-map-frame iframe {
            height: 260px;
        }

        .gk-ct-map-head {
            padding: 13px 18px;
            font-size: 12.5px;
        }
    }
    .marque-btn {
    display: inline-block;
    background-color: #ff9900;
    color: #ffffff;
    padding: 3px 10px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 0.85em;
    text-decoration: none;
    margin-left: 4px;
    transition: background-color 0.2s ease;
}

.marque-btn:hover {
    background-color: #1e1e6b;
}
    /* ===================== Grandparents Day Page CSS ===================== */

.gk-gpday-section {
    padding: 60px 0;
    background: #fffaf3;
}

.gk-gpday-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Heading */
.gk-gpday-heading-wrap {
    text-align: center;
    margin-bottom: 40px;
}

.gk-gpday-heading {
    font-size: 42px;
    font-weight: 800;
    color: #1e3a5f;
    margin: 0 0 8px;
    position: relative;
    display: inline-block;
}

.gk-gpday-heading::after {
    content: '';
    display: block;
    width: 90px;
    height: 4px;
    background: #d4af37;
    margin: 12px auto 0;
    border-radius: 4px;
}

.gk-gpday-subheading {
    font-size: 18px;
    color: #c0392b;
    font-weight: 600;
    margin: 0;
}

/* Gallery */
.gk-gpday-gallery-wrap {
    text-align: center;
}

.gk-gpday-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.gk-gpday-gallery-item {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.1);
    aspect-ratio: 4 / 3;
}

.gk-gpday-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.gk-gpday-gallery-item:hover img {
    transform: scale(1.06);
}

/* ===================== RWD ===================== */

@media (max-width: 991px) {
    .gk-gpday-heading {
        font-size: 34px;
    }

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

@media (max-width: 767px) {
    .gk-gpday-section {
        padding: 40px 0;
    }

    .gk-gpday-heading {
        font-size: 28px;
    }

    .gk-gpday-subheading {
        font-size: 16px;
    }

    .gk-gpday-gallery-wrap {
        margin-top: 0;
    }
}

@media (max-width: 575px) {
    .gk-gpday-heading {
        font-size: 24px;
    }

    .gk-gpday-gallery-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== PTA Members Section - gkpta prefix ===== */
.gkpta-section {
    padding: 60px 0;
}

.gkpta-heading {
    text-align: center;
    margin-bottom: 40px;
}

.gkpta-heading h2 {
    font-size: 32px;
    font-weight: 700;
    color: #1a2a52;
    margin-bottom: 8px;
}

.gkpta-heading p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

.gkpta-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.gkpta-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: #fff;
}

.gkpta-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.16);
}

.gkpta-img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== RWD ===== */
@media (max-width: 991px) {
    .gkpta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
    }
}

@media (max-width: 767px) {
    .gkpta-section {
        padding: 40px 0;
    }

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

    .gkpta-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

@media (max-width: 575px) {
    .gkpta-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
.gk-staff-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 15px 50px;
    font-family: 'Poppins', Arial, sans-serif;
}

.gk-staff-title {
    font-size: 26px;
    font-weight: 700;
    color: #1c2d5a;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 12px;
}

.gk-staff-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #c9a227;
}

.gk-staff-table-wrap {
    overflow-x: auto;
    border-radius: 10px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    -webkit-overflow-scrolling: touch;
}

.gk-staff-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    min-width: 760px;
}

.gk-staff-th {
    background: #1c2d5a;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    padding: 14px 12px;
    text-align: left;
    white-space: nowrap;
}

.gk-staff-th-sno { width: 60px; text-align: center; }
.gk-staff-th-photo { width: 130px; text-align: center; }
.gk-staff-th-class { width: 120px; }

.gk-staff-row {
    border-bottom: 1px solid #eaeaea;
    transition: background .2s ease;
}

.gk-staff-row:nth-child(even) { background: #f8f9fc; }
.gk-staff-row:hover { background: #f1f4ff; }

.gk-staff-td {
    padding: 12px;
    font-size: 14.5px;
    color: #333;
    vertical-align: middle;
}

.gk-staff-td-sno {
    text-align: center;
    font-weight: 600;
    color: #1c2d5a;
}

.gk-staff-td-photo { text-align: center; }

/* ---- IMAGE: bigger fixed box, object-fit:cover crops
       any source image (portrait/landscape) cleanly ---- */
.gk-staff-photo {
    width: 130px;
    height: 135px;
    max-width: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: 8px;
    border: 2px solid #c9a227;
    display: block;
    margin: 0 auto;
    background: #eee;
}

.gk-staff-name {
    display: block;
    font-weight: 700;
    color: #1c2d5a;
    font-size: 15px;
    margin-bottom: 3px;
}

.gk-staff-qual {
    display: block;
    font-size: 12.5px;
    color: #777;
    line-height: 1.4;
}

.gk-staff-td-desig {
    font-weight: 600;
    color: #c9a227;
    white-space: nowrap;
}

.gk-staff-td-class { font-weight: 600; }

.gk-staff-resp-list {
    margin: 0;
    padding-left: 18px;
}

.gk-staff-resp-list li {
    font-size: 13.5px;
    line-height: 1.6;
    color: #444;
}

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

/* Tablet: table still visible, slightly bigger photo (not shrink) */
@media (max-width: 991px) {
    .gk-staff-title { font-size: 22px; }

    .gk-staff-th,
    .gk-staff-td {
        padding: 10px 8px;
        font-size: 13.5px;
    }

    .gk-staff-photo {
        width: 100px;
        height: 105px;
    }
}

/* Mobile: switch to CARD layout - photo on TOP, details BELOW,
   one by one (stacked), fully centered card */
@media (max-width: 767px) {
    .gk-staff-table-wrap {
        overflow: visible;
        box-shadow: none;
    }

    .gk-staff-table { min-width: 0; }

    .gk-staff-table thead { display: none; }

    .gk-staff-table,
    .gk-staff-table tbody,
    .gk-staff-row,
    .gk-staff-td {
        display: block;
        width: 100%;
    }

    .gk-staff-row {
        background: #fff;
        border: 1px solid #eaeaea;
        border-radius: 10px;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
        margin-bottom: 18px;
        padding: 18px 16px;
        position: relative;
        text-align: center;
    }

    .gk-staff-row:nth-child(even) { background: #fff; }

    .gk-staff-td {
        padding: 6px 0;
        border: none;
        min-height: auto;
    }

    .gk-staff-td::before {
        content: attr(data-label);
        display: block;
        font-size: 11px;
        font-weight: 700;
        color: #c9a227;
        text-transform: uppercase;
        letter-spacing: .4px;
        margin-bottom: 3px;
    }

    /* S.No as a small badge top-right of the card */
    .gk-staff-td-sno {
        position: absolute;
        top: 14px;
        right: 14px;
        padding: 0;
        width: auto;
        font-size: 12px;
        color: #999;
    }
    .gk-staff-td-sno::before { content: ""; }

    /* Photo sits on TOP, centered, no absolute positioning */
    .gk-staff-td-photo {
        position: static;
        padding: 0 0 12px;
        width: 100%;
        text-align: center;
    }
    .gk-staff-td-photo::before { content: ""; }

    .gk-staff-photo {
        margin: 0 auto;
        width: 140px;
        height: 145px;
    }

    /* Details stacked one by one below photo - no side padding */
    .gk-staff-td-name,
    .gk-staff-td-desig,
    .gk-staff-td-class {
        padding-left: 0;
    }

    .gk-staff-td-resp {
        padding-left: 0;
        margin-top: 8px;
        border-top: 1px dashed #eee;
        padding-top: 10px;
        text-align: left;
    }

    .gk-staff-resp-list {
        display: inline-block;
        text-align: left;
    }
}

/* Small Mobile */
@media (max-width: 575px) {
    .gk-staff-photo {
        width: 120px;
        height: 125px;
    }
}

/* Very Small Mobile */
@media (max-width: 380px) {
    .gk-staff-photo {
        width: 105px;
        height: 110px;
    }
}

/* =========================================================
   GK NON-TEACHING STAFF
   Unique class namespace: gk-non-teaching-
   Fully responsive
   ========================================================= */

.gk-non-teaching-directory {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 55px 20px 70px;
    box-sizing: border-box;
    font-family: "Poppins", Arial, sans-serif;
    background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 100%);
}


/* ---------- HEADER ---------- */

.gk-non-teaching-header {
    text-align: center;
    margin-bottom: 45px;
}

.gk-non-teaching-badge {
    display: inline-block;
    padding: 7px 18px;
    margin-bottom: 12px;
    border-radius: 30px;
    background: #1c2d5a;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.gk-non-teaching-title {
    margin: 0;
    color: #1c2d5a;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
}

.gk-non-teaching-subtitle {
    max-width: 620px;
    margin: 12px auto 0;
    color: #777;
    font-size: 14px;
    line-height: 1.7;
}


/* ---------- STAFF GRID ---------- */

.gk-non-teaching-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}


/* ---------- STAFF CARD ---------- */

.gk-non-teaching-card {
    position: relative;
    min-width: 0;
    padding: 22px 18px 25px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e8ebf3;
    border-radius: 20px;
    box-shadow: 0 8px 25px rgba(28, 45, 90, 0.08);
    overflow: hidden;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

.gk-non-teaching-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(
        90deg,
        #1c2d5a,
        #c9a227,
        #1c2d5a
    );
}

.gk-non-teaching-card:hover {
    transform: translateY(-8px);
    border-color: #c9a227;
    box-shadow: 0 16px 35px rgba(28, 45, 90, 0.15);
}


/* ---------- NUMBER ---------- */

.gk-non-teaching-number {
    position: absolute;
    top: 17px;
    right: 18px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f3f5fa;
    color: #1c2d5a;
    font-size: 11px;
    font-weight: 800;
}


/* ---------- IMAGE ---------- */

.gk-non-teaching-image-wrap {
    width: 170px;
    height: 170px;
    margin: 15px auto 22px;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        #1c2d5a,
        #c9a227
    );
    box-sizing: border-box;
}

.gk-non-teaching-image {
    display: block;
    width: 160px;
    height: 160px;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #ffffff;
    box-sizing: border-box;
    background: #eeeeee;
}


/* ---------- CONTENT ---------- */

.gk-non-teaching-content {
    padding-top: 2px;
}

.gk-non-teaching-label {
    display: block;
    margin-bottom: 6px;
    color: #c9a227;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gk-non-teaching-name {
    margin: 0;
    color: #1c2d5a;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
}


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

@media (max-width: 1100px) {

    .gk-non-teaching-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
        margin: 0 auto;
    }

    .gk-non-teaching-image-wrap {
        width: 175px;
        height: 175px;
    }

    .gk-non-teaching-image {
        width: 165px;
        height: 165px;
    }
}


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

@media (max-width: 767px) {

    .gk-non-teaching-directory {
        padding: 40px 15px 55px;
    }

    .gk-non-teaching-header {
        margin-bottom: 30px;
    }

    .gk-non-teaching-title {
        font-size: 27px;
    }

    .gk-non-teaching-subtitle {
        font-size: 13px;
        padding: 0 10px;
    }

    .gk-non-teaching-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .gk-non-teaching-card {
        padding: 20px 12px 22px;
        border-radius: 17px;
    }

    .gk-non-teaching-image-wrap {
        width: 140px;
        height: 140px;
        margin: 15px auto 18px;
    }

    .gk-non-teaching-image {
        width: 130px;
        height: 130px;
    }

    .gk-non-teaching-name {
        font-size: 16px;
    }
}


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

@media (max-width: 480px) {

    .gk-non-teaching-directory {
        padding: 35px 12px 45px;
    }

    .gk-non-teaching-title {
        font-size: 24px;
    }

    .gk-non-teaching-subtitle {
        font-size: 12px;
        line-height: 1.6;
    }

    .gk-non-teaching-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        max-width: 340px;
        margin: 0 auto;
    }

    .gk-non-teaching-card {
        padding: 22px 15px 25px;
    }

    .gk-non-teaching-image-wrap {
        width: 175px;
        height: 175px;
        margin-bottom: 20px;
    }

    .gk-non-teaching-image {
        width: 165px;
        height: 165px;
    }

    .gk-non-teaching-name {
        font-size: 18px;
    }

    .gk-non-teaching-number {
        top: 15px;
        right: 15px;
    }
}


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

@media (max-width: 360px) {

    .gk-non-teaching-title {
        font-size: 22px;
    }

    .gk-non-teaching-image-wrap {
        width: 155px;
        height: 155px;
    }

    .gk-non-teaching-image {
        width: 145px;
        height: 145px;
    }
}


/* ========================================================
   GK-CCA (Co-Curricular Activities) COMPONENT
   Add ONCE at end of file / external stylesheet
======================================================== */

.gk-cca-section{
  padding:60px 0;
  border-bottom:1px solid #eee;
}
.gk-cca-header{
  text-align:center;
  margin-bottom:35px;
}
.gk-cca-title{
  font-size:32px;
  font-weight:700;
  color:#1a1a1a;
  margin-bottom:8px;
}
.gk-cca-tagline{
  font-size:17px;
  color:#c9a227;
  font-style:italic;
  display:block;
}

/* Row - column layout ALL devices: caption on top, incharge below */
.gk-cca-row{
  display:flex;
  flex-direction:column;
  gap:25px;
  margin-bottom:35px;
}

/* Caption points - always FIRST */
.gk-cca-caption{
  width:100%;
  order:1;
}
.gk-cca-points{
  list-style:none;
  margin:0;
  padding:0;
}
.gk-cca-points li{
  position:relative;
  padding:10px 0 10px 28px;
  font-size:16px;
  font-weight: 600;
  line-height:1.6;
  color:#333;
  border-bottom:1px dashed #ddd;
}
.gk-cca-points li:last-child{
  border-bottom:none;
}
.gk-cca-points li::before{
  content:"\f0da";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  position:absolute;
  left:0;
  top:10px;
  color:#c8102e;
}

/* Incharge wrapper - always BELOW caption, cards side by side */
.gk-cca-incharge{
  width:100%;
  order:2;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  justify-content:center;
  gap:25px;
}
.gk-cca-incharge-card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 4px 18px rgba(0,0,0,0.1);
  padding:22px 15px;
  text-align:center;
  flex:0 1 240px;
}
.gk-cca-incharge-photo{
  width:160px;
  height:160px;
  margin:0 auto 15px;
  border-radius:50%;
  overflow:hidden;
  border:4px solid #c8102e;
}
.gk-cca-incharge-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.gk-cca-incharge-name{
  font-size:17px;
  font-weight:600;
  color:#1a1a1a;
  margin:0 0 3px;
}
.gk-cca-incharge-role{
  font-size:13px;
  font-weight: 600;
  color: #13a;
}

/* Activity photos - grid gallery style */
.gk-cca-gallery{
  margin-top:10px;
}
.gk-cca-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.gk-cca-photo-item{
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  aspect-ratio:4/3;
  min-height:220px;
  box-shadow:0 2px 10px rgba(0,0,0,0.08);
}
.gk-cca-photo-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.35s ease;
}
.gk-cca-photo-item:hover img{
  transform:scale(1.08);
}

/* Lightbox */
.gk-cca-lightbox{
  display:none;
  position:fixed;
  z-index:9999;
  top:0;left:0;
  width:100%;height:100%;
  background:rgba(0,0,0,0.9);
  align-items:center;
  justify-content:center;
}
.gk-cca-lightbox.active{
  display:flex;
}
.gk-cca-lightbox img{
  max-width:90%;
  max-height:85%;
  border-radius:8px;
}
.gk-cca-lightbox-close{
  position:absolute;
  top:20px;right:35px;
  font-size:38px;
  color:#fff;
  cursor:pointer;
}

/* ===== RWD ===== */

/* Tablet (max 991px) */
@media(max-width:991px){
  .gk-cca-incharge-photo{
    width:150px;
    height:150px;
  }
  .gk-cca-photo-grid{
    grid-template-columns:repeat(2,1fr);
    gap:18px;
  }
  .gk-cca-photo-item{
    min-height:260px;
  }
}

/* Mobile (max 767px) - incharge cards stack, gallery ONE BY ONE */
@media(max-width:767px){
  .gk-cca-title{
    font-size:26px;
  }
  .gk-cca-incharge{
    flex-direction:column;
  }
  .gk-cca-incharge-card{
    flex:0 1 auto;
    width:100%;
    max-width:280px;
    margin:0 auto;
  }
  .gk-cca-incharge-photo{
    width:140px;
    height:140px;
  }
  .gk-cca-photo-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .gk-cca-photo-item{
    min-height:280px;
  }
}

/* Small mobile (max 575px) */
@media(max-width:575px){
  .gk-cca-section{
    padding:40px 0;
  }
  .gk-cca-incharge-photo{
    width:150px;
    height:150px;
  }
  .gk-cca-photo-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  .gk-cca-photo-item{
    min-height:250px;
  }
}
/* ===== GK-CCA :: EXTRA CURRICULAR ACTIVITIES ===== */

.gk-cca-hero{
  position: relative;
  padding: 70px 0 60px;
  background: linear-gradient(135deg,#0f2a4a 0%,#1c4f82 55%,#2f7fb8 100%);
  overflow: hidden;
  text-align: center;
}
.gk-cca-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 15% 25%, rgba(255,255,255,.10) 0, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(255,255,255,.08) 0, transparent 45%);
}
.gk-cca-hero-inner{ position:relative; z-index:1; max-width:720px; margin:0 auto; }
.gk-cca-kicker{
  display:inline-block;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#ffd166;
  font-weight:600;
  margin-bottom:14px;
}
.gk-cca-title{
  font-size:42px;
  font-weight:800;
  color:#fff;
  margin:0 0 14px;
  line-height:1.2;
}
.gk-cca-subtitle{
  font-size:16px;
  color:rgba(255,255,255,.85);
  margin:0;
  line-height:1.6;
}

.gk-cca-section{ padding:60px 0 70px; background:#f7f9fc; }

.gk-cca-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:26px;
}

.gk-cca-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(15,42,74,.08);
  border:1px solid #eef1f6;
  transition:transform .3s ease, box-shadow .3s ease;
}
.gk-cca-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 34px rgba(15,42,74,.16);
}

.gk-cca-card-media{
  position:relative;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:#dde6ef;
}
.gk-cca-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}
.gk-cca-card:hover .gk-cca-card-media img{ transform:scale(1.08); }

.gk-cca-badge{
  position:absolute;
  top:12px;
  left:12px;
  background:rgba(15,42,74,.85);
  color:#ffd166;
  font-weight:700;
  font-size:12px;
  padding:5px 10px;
  border-radius:20px;
  letter-spacing:1px;
}

.gk-cca-card-body{
  padding:18px 20px 22px;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.gk-cca-card-title{
  font-size:19px;
  font-weight:700;
  color:#0f2a4a;
  margin:0 0 8px;
}
.gk-cca-card-desc{
  font-size:14px;
  color:#5b6b7c;
  line-height:1.5;
  margin:0 0 16px;
  flex-grow:1;
}
.gk-cca-card-link{
  font-size:13px;
  font-weight:700;
  color:#1c4f82;
  letter-spacing:.5px;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.gk-cca-card-link i{
  font-style:normal;
  transition:transform .25s ease;
}
.gk-cca-card:hover .gk-cca-card-link i{ transform:translateX(5px); }

/* ===== RWD ===== */
@media (max-width:991px){
  .gk-cca-grid{ grid-template-columns:repeat(3, 1fr); gap:20px; }
  .gk-cca-title{ font-size:34px; }
}

@media (max-width:767px){
  .gk-cca-hero{ padding:50px 0 42px; }
  .gk-cca-title{ font-size:28px; }
  .gk-cca-subtitle{ font-size:15px; }
  .gk-cca-section{ padding:40px 0 50px; }
  .gk-cca-grid{ grid-template-columns:repeat(2, 1fr); gap:16px; }
  .gk-cca-card-title{ font-size:17px; }
  .gk-cca-card-body{ padding:14px 16px 18px; }
}

@media (max-width:575px){
  .gk-cca-grid{ grid-template-columns:1fr; }
  .gk-cca-title{ font-size:24px; }
  .gk-cca-badge{ font-size:11px; padding:4px 9px; }
}
.gk-cca-incharge-title,
.gk-cca-gallery-title {
  text-align: center;
  margin: 0 0 20px;
  position: relative;
}

.gk-cca-incharge-title span,
.gk-cca-gallery-title span {
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  padding: 0 18px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.gk-cca-incharge-title span::before,
.gk-cca-incharge-title span::after,
.gk-cca-gallery-title span::before,
.gk-cca-gallery-title span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 30px;
  height: 3px;
  background: #d4af37;
  border-radius: 2px;
}

.gk-cca-incharge-title span::before,
.gk-cca-gallery-title span::before {
  right: 100%;
}

.gk-cca-incharge-title span::after,
.gk-cca-gallery-title span::after {
  left: 100%;
}

@media (max-width: 575px) {
  .gk-cca-incharge-title span,
  .gk-cca-gallery-title span {
    font-size: 17px;
    padding: 0 12px;
  }
  .gk-cca-incharge-title span::before,
  .gk-cca-incharge-title span::after,
  .gk-cca-gallery-title span::before,
  .gk-cca-gallery-title span::after {
    width: 18px;
  }
}

/* ===== gk-houses component ===== */
.gk-houses-section{
  padding:60px 20px;
  background:#f7f8fa;
}
.gk-houses-container{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}
.gk-houses-title{
  font-size:34px;
  font-weight:700;
  color:#1a1a1a;
  margin:0 0 8px;
  position:relative;
  display:inline-block;
}
.gk-houses-title::after{
  content:"";
  display:block;
  width:70px;
  height:3px;
  background:#c9a227;
  margin:12px auto 0;
}
.gk-houses-subtitle{
  color:#666;
  font-size:15px;
  margin:0 0 40px;
}

.gk-houses-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}

.gk-house-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,0.08);
  border-top:5px solid transparent;
  transition:transform .3s ease, box-shadow .3s ease;
}
.gk-house-card:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 26px rgba(0,0,0,0.14);
}

/* House color accents */
.gk-house-red{ border-top-color:#d32f2f; }
.gk-house-blue{ border-top-color:#1565c0; }
.gk-house-green{ border-top-color:#2e7d32; }
.gk-house-yellow{ border-top-color:#f9a825; }

/* Image fit - handles ANY image size/ratio perfectly */
.gk-house-img-wrap{
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#eee;
}
.gk-house-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transition:transform .4s ease;
}
.gk-house-card:hover .gk-house-img{
  transform:scale(1.06);
}

.gk-house-info{
  padding:18px 12px 22px;
}
.gk-house-name{
  font-size:17px;
  font-weight:700;
  color:#222;
  margin:0 0 6px;
}
.gk-house-color{
  font-size:13px;
  font-weight:600;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.gk-house-red .gk-house-color{ color:#d32f2f; }
.gk-house-blue .gk-house-color{ color:#1565c0; }
.gk-house-green .gk-house-color{ color:#2e7d32; }
.gk-house-yellow .gk-house-color{ color:#c98f00; }

/* ===== RWD ===== */
@media (max-width:991px){
  .gk-houses-grid{
    grid-template-columns:repeat(2,1fr);
    gap:22px;
  }
  .gk-houses-title{ font-size:28px; }
}

@media (max-width:767px){
  .gk-houses-section{ padding:40px 16px; }
  .gk-house-img-wrap{ aspect-ratio:1/1; }
}

@media (max-width:575px){
  .gk-houses-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .gk-house-img-wrap{
    aspect-ratio:4/5;
    background:#eee;
  }
  .gk-house-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 20%;
  }
  .gk-house-name{ font-size:16px; }
  .gk-houses-title{ font-size:24px; }
}
   /* ===== gk-council component ===== */
.gk-council-section{
  padding:60px 20px;
  background:#fff;
}
.gk-council-container{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}
.gk-council-title{
  font-size:34px;
  font-weight:700;
  color:#1a1a1a;
  margin:0 0 8px;
  position:relative;
  display:inline-block;
}
.gk-council-title::after{
  content:"";
  display:block;
  width:70px;
  height:3px;
  background:#0d3b66;
  margin:12px auto 0;
}
.gk-council-subtitle{
  color:#666;
  font-size:15px;
  margin:0 0 40px;
}

/* Featured card (SPL & ASPL) */
.gk-council-featured{
  display:flex;
  align-items:center;
  gap:36px;
  background:linear-gradient(135deg,#fff8e6,#fff);
  border:1px solid #eee0b8;
  border-radius:16px;
  padding:24px;
  margin-bottom:44px;
  text-align:left;
  box-shadow:0 6px 22px rgba(0,0,0,0.06);
}
.gk-council-featured-img{
  flex:0 0 220px;
  aspect-ratio:3/4;
  border-radius:12px;
  overflow:hidden;
  background:#eee;
}
.gk-council-featured-info{
  flex:1;
}
.gk-council-badge{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.5px;
  text-transform:uppercase;
  padding:5px 14px;
  border-radius:20px;
  margin-bottom:10px;
}
.gk-badge-gold{
  background:#c9a227;
  color:#fff;
}
.gk-council-featured-name{
  font-size:26px;
  font-weight:700;
  color:#222;
  margin:0 0 10px;
}
.gk-council-featured-text{
  font-size:14.5px;
  color:#555;
  line-height:1.6;
  margin:0;
}

/* Grid of 6 */
.gk-council-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.gk-council-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,0.08);
  border-bottom:5px solid transparent;
  transition:transform .3s ease, box-shadow .3s ease;
}
.gk-council-card:hover{
  transform:translateY(-6px);
  box-shadow:0 10px 24px rgba(0,0,0,0.14);
}

.gk-council-red{ border-bottom-color:#d32f2f; }
.gk-council-blue{ border-bottom-color:#1565c0; }
.gk-council-green{ border-bottom-color:#2e7d32; }
.gk-council-yellow{ border-bottom-color:#f9a825; }
.gk-council-volunteers{ border-bottom-color:#0d3b66; }
.gk-council-classleaders{ border-bottom-color:#3949ab; }

.gk-council-img-wrap{
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#eee;
}
.gk-council-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transition:transform .4s ease;
}
.gk-council-card:hover .gk-council-img{
  transform:scale(1.06);
}

.gk-council-info{
  padding:14px 12px 18px;
}
.gk-council-tag{
  font-size:14.5px;
  font-weight:700;
  color:#222;
}

/* ===== RWD ===== */
@media (max-width:991px){
  .gk-council-grid{
    grid-template-columns:repeat(2,1fr);
    gap:22px;
  }
  .gk-council-title{ font-size:28px; }
  .gk-council-featured{
    gap:24px;
    padding:20px;
  }
  .gk-council-featured-img{ flex:0 0 170px; }
  .gk-council-featured-name{ font-size:22px; }
}

@media (max-width:767px){
  .gk-council-section{ padding:40px 16px; }
  .gk-council-featured{
    flex-direction:column;
    text-align:center;
  }
  .gk-council-featured-img{
    flex:0 0 auto;
    width:60%;
    max-width:220px;
  }
}

@media (max-width:575px){
  .gk-council-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .gk-council-featured-img{ width:75%; }
  .gk-council-featured-name{ font-size:20px; }
  .gk-council-title{ font-size:24px; }
}
.sf-menu li a {
	font-family: 'Roboto', sans-serif;
	color: #2795d0;
	border: 0;
	font-size: 15px;
	font-weight: 700;
	padding: 33px 0px 23px 18px;
}
header.sticky .sf-menu li a {
	/* padding: 15px; */
	padding-top: 10px;
}
.programme-table td,
.programme-table th,
.programme-table td.highlight-text,
.programme-table td.italic-text {
    font-size: 18px;
    /* font-weight: 600; */
    color: #333;
}

/* =========================================
   School Uniform Images
   ========================================= */

.uniimgr-section {
    width: 100%;
    padding: 20px 0 60px;
    background: #f9f9f9;
}

.uniimgr-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.uniimgr-gallery {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.uniimgr-item {
    width: 50%;
    max-width: 560px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.uniimgr-img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}


/* =========================================
   Laptop
   ========================================= */

@media (max-width: 1199px) {

    .uniimgr-section {
        padding: 15px 0 50px;
    }

    .uniimgr-container {
        padding: 0 20px;
    }

    .uniimgr-gallery {
        gap: 25px;
    }
}


/* =========================================
   Tablet
   ========================================= */

@media (max-width: 991px) {

    .uniimgr-section {
        padding: 10px 0 45px;
    }

    .uniimgr-container {
        padding: 0 18px;
    }

    .uniimgr-gallery {
        gap: 20px;
    }

    .uniimgr-item {
        width: 50%;
    }
}


/* =========================================
   Mobile
   ========================================= */

@media (max-width: 767px) {

    .uniimgr-section {
        padding: 5px 0 35px;
    }

    .uniimgr-container {
        padding: 0 15px;
    }

    .uniimgr-gallery {
        flex-direction: column;
        gap: 20px;
    }

    .uniimgr-item {
        width: 100%;
        max-width: 600px;
    }

    .uniimgr-img {
        width: 100%;
        height: auto;
    }
}