/* ============================================
   CT Lab Kits (PictoMath) - Landing Page CSS
   Pixel-matched to "Pictomath Kit Ui.pdf"
   ============================================ */

:root {
    --ct-pink:      #d41e81;
    --ct-pink-2:    #e91e8c;
    --ct-purple:    #6c2fb8;
    --ct-blue:      #26abe0;
    --ct-yellow:    #fec828;
    --ct-navy:      #112f49;
    --ct-white:     #ffffff;
    --ct-green:     #17a34a;
    --ct-gray-50:   #f9f9f9;
    --ct-gray-100:  #f3f3f3;
    --ct-gray-150:  #f6f6f6;
    --ct-gray-200:  #e5e7eb;
    --ct-gray-300:  #d1d5db;
    --ct-gray-500:  #6b7280;
    --ct-gray-700:  #374151;
    --ct-lavender:  #f4f7ff;
    --ct-grad:      linear-gradient(to right, #26abe0, #d41e81);
    --ct-grad-tri:  linear-gradient(to right, #d41e81 0%, #6c2fb8 52%, #26abe0 100%);
    --ct-grad-hero: linear-gradient(115deg, #d41e81 0%, #6c2fb8 50%, #26abe0 100%);
}

html { scroll-behavior: smooth; }

.ct-landing {
    font-family: 'Roboto', 'Plus Jakarta Sans', system-ui, sans-serif;
    color: var(--ct-navy);
    background: var(--ct-white);
}
.ct-landing * { box-sizing: border-box; }
.ct-landing h1, .ct-landing h2, .ct-landing h3, .ct-landing h4 {
    font-family: 'Plus Jakarta Sans', 'Roboto', sans-serif;
    color: var(--ct-navy);
}
.ct-landing .container { max-width: 1140px; width: 100%; margin: 0 auto; padding: 0 24px; }

/* Scroll reveal */
.ct-impact-card, .ct-kit-card, .ct-matters-copy, .ct-matters-visual, .ct-skill-card,
.ct-where-photo, .ct-where-list, .ct-grade-table, .ct-practise-card, .ct-support-card,
.ct-impl-flow, .ct-framework-card, .ct-choose-photo, .ct-choose-list, .ct-value-card {
    opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease;
}
.ct-visible { opacity: 1 !important; transform: translateY(0) !important; }

/* Utility */
.ct-text-pink   { color: var(--ct-pink); }
.ct-text-blue   { color: var(--ct-blue); }
.ct-text-yellow { color: var(--ct-yellow); }
.ct-grad-text {
    background: var(--ct-grad-tri);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
}

.ct-section-title {
    font-size: 2.15rem; font-weight: 800; text-align: center; margin: 0 0 14px;
    color: var(--ct-navy); line-height: 1.2;
}
.ct-section-subtitle {
    text-align: center; color: var(--ct-gray-700); font-size: 1rem;
    margin: 0 auto 34px; line-height: 1.6; max-width: 760px;
}

/* Buttons */
.ct-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 13px 26px; border-radius: 8px; font-weight: 700; font-size: 0.95rem;
    text-decoration: none; cursor: pointer; border: none; text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.ct-btn:hover { transform: translateY(-2px); text-decoration: none; }
.ct-btn-pink     { background: var(--ct-pink); color: #fff; }
.ct-btn-pink:hover { background: #b81a6e; color: #fff; box-shadow: 0 6px 18px rgba(212,30,129,0.32); }
.ct-btn-blue     { background: var(--ct-blue); color: #fff; }
.ct-btn-blue:hover { background: #1a8ab8; color: #fff; box-shadow: 0 6px 18px rgba(38,171,224,0.32); }
.ct-btn-gradient { background: var(--ct-grad); color: #fff; font-size: 1.05rem; padding: 15px 34px; }
.ct-btn-gradient:hover { color: #fff; box-shadow: 0 8px 24px rgba(212,30,129,0.34); }
.ct-btn-outline {
    background: #fff; color: var(--ct-navy); border: 1.5px solid var(--ct-gray-300); font-weight: 600;
}
.ct-btn-outline:hover { border-color: var(--ct-blue); color: var(--ct-blue); }

/* ============================================
   SECTION 1: HERO BANNER
   ============================================ */
.ct-hero { position: relative; overflow: hidden; background: var(--ct-grad-hero); }
.ct-hero-bg-wrap { position: relative; width: 100%; }
.ct-hero-bg { width: 100%; height: auto; display: block; }
.ct-hero .container { position: absolute; inset: 0; display: flex; align-items: center; }
.ct-hero-content { position: relative; z-index: 2; max-width: 660px; color: #fff; }
.ct-hero-logo { width: 324px; max-width: 62%; height: auto; display: block; margin-bottom: 14px; }
.ct-hero-content h1 {
    color: #fff; font-size: 2.05rem; font-weight: 800; line-height: 1.22; margin: 0;
    max-width: 645px;
}
.ct-hero-content h1 .ct-hero-yellow { color: var(--ct-yellow); }
.ct-hero-sub { font-size: 0.94rem; line-height: 1.5; margin: 16px 0 20px; max-width: 430px; }
.ct-hero-badge {
    display: inline-block; background: var(--ct-yellow); color: var(--ct-navy);
    font-weight: 800; font-size: 1rem; padding: 10px 22px; border-radius: 8px;
}
.ct-hero-badge .dot { color: var(--ct-pink); margin: 0 8px; }

/* ============================================
   SECTION 2: BUILT FOR REAL COMPUTATIONAL THINKING
   ============================================ */
.ct-impact { padding: 58px 0 56px; background: var(--ct-white); }
.ct-impact h2 { text-align: center; font-size: 2.1rem; font-weight: 800; margin: 0 0 36px; line-height: 1.25; }
.ct-impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ct-impact-card {
    display: flex; align-items: center; gap: 14px; background: #ecf7fd;
    border-radius: 12px; padding: 18px 18px; min-height: 130px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ct-impact-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(17,47,73,0.10); }
.ct-impact-icon { width: 56px; height: 56px; flex-shrink: 0; }
.ct-impact-icon img { width: 100%; height: 100%; object-fit: contain; }
.ct-impact-card p { margin: 0; font-size: 0.88rem; font-weight: 500; color: var(--ct-navy); line-height: 1.4; }

/* ============================================
   SECTION 3: CHOOSE YOUR KIT
   ============================================ */
.ct-choose-kit { padding: 42px 0 64px; background: var(--ct-white); }
.ct-grade-pill {
    display: inline-block; background: var(--ct-yellow); color: var(--ct-navy);
    font-weight: 800; font-size: 0.85rem; letter-spacing: 0.8px;
    padding: 9px 30px; border-radius: 999px; text-transform: uppercase;
}
.ct-grade-pills-row { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 22px; justify-items: center; }

.ct-kit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }
.ct-kit-card {
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 6px 26px rgba(17,47,73,0.12);
    display: flex; flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ct-kit-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(17,47,73,0.16); }
.ct-kit-media { aspect-ratio: 465/316; overflow: hidden; }
.ct-kit-media img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; display: block; }

.ct-kit-body { padding: 26px 30px 30px; display: flex; flex-direction: column; flex: 1; }
.ct-kit-eyebrow {
    font-size: 0.82rem; font-weight: 700; letter-spacing: 0.7px;
    text-transform: uppercase; margin-bottom: 10px;
}
.ct-kit-card.pink .ct-kit-eyebrow { color: var(--ct-pink); }
.ct-kit-card.blue .ct-kit-eyebrow { color: var(--ct-blue); }
.ct-kit-body h3 { font-size: 1.6rem; font-weight: 800; margin: 0 0 10px; line-height: 1.15; }
.ct-kit-lab { font-size: 0.98rem; font-weight: 700; color: var(--ct-navy); margin: 0 0 20px; }

.ct-kit-features {
    list-style: none; padding: 0; margin: 0 0 24px;
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px;
}
.ct-kit-features li {
    display: flex; align-items: center; gap: 11px;
    font-size: 0.86rem; color: var(--ct-gray-700);
}
.ct-kit-features li img { width: 20px; height: 20px; flex-shrink: 0; }

.ct-kit-note {
    display: flex; align-items: center; gap: 16px; background: var(--ct-gray-150);
    border-radius: 4px 8px 8px 4px; padding: 16px 18px; margin-bottom: 18px;
    border-left: 5px solid var(--ct-pink);
}
.ct-kit-card.blue .ct-kit-note { border-left-color: var(--ct-blue); }
.ct-kit-note img { width: 42px; height: 42px; flex-shrink: 0; object-fit: contain; }
.ct-kit-note p { margin: 0; font-size: 0.9rem; line-height: 1.45; font-weight: 500; color: var(--ct-pink); }
.ct-kit-card.blue .ct-kit-note p { color: var(--ct-blue); }

.ct-kit-price { border-radius: 8px; padding: 14px 18px 16px; margin-bottom: 20px; background: #ffe0f0; }
.ct-kit-card.blue .ct-kit-price { background: #d5f3fe; }
.ct-kit-price .label {
    display: block; font-size: 0.68rem; font-weight: 700; letter-spacing: 1.1px;
    text-transform: uppercase; color: var(--ct-navy); margin-bottom: 6px;
}
.ct-kit-price .row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.ct-kit-price .amount {
    font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.85rem; font-weight: 800; line-height: 1;
    background: var(--ct-grad-tri); -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    margin-left: 1rem;
}
.ct-kit-price .unit { font-size: 0.92rem; color: var(--ct-gray-700); }

.ct-kit-buttons { display: flex; gap: 14px; margin-top: auto; }
.ct-kit-buttons .ct-btn { flex: 1; padding: 13px 12px; font-size: 0.92rem; }

/* ============================================
   SECTION 4: WHY COMPUTATIONAL THINKING MATTERS
   ============================================ */
.ct-matters { padding: 64px 0 68px; background: var(--ct-gray-50); }
.ct-matters-grid { display: grid; grid-template-columns: 52% 30%; justify-content: space-between; align-items: center; gap: 40px; }
.ct-matters-copy h2 { font-size: 2.15rem; font-weight: 800; margin: 0 0 22px; line-height: 1.2; }
.ct-matters-copy p { font-size: 1.08rem; line-height: 1.6; color: var(--ct-gray-700); margin: 0 0 20px; text-align: justify; }
.ct-matters-copy p.ct-matters-lead-in { font-weight: 500; color: var(--ct-navy); margin-bottom: 18px; text-align: left; }

.ct-matters-list { list-style: none; padding: 0; margin: 0 0 26px; display: flex; flex-direction: column; gap: 10px; }
.ct-matters-list li {
    display: flex; align-items: center; gap: 14px; border-radius: 999px;
    padding: 15px 24px; font-size: 1.06rem; color: var(--ct-navy);
}
.ct-matters-list li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.ct-matters-list li:nth-child(1) { background: #f3d8e7; }
.ct-matters-list li:nth-child(1)::before { background: var(--ct-pink); }
.ct-matters-list li:nth-child(2) { background: #d5f3fe; }
.ct-matters-list li:nth-child(2)::before { background: var(--ct-blue); }
.ct-matters-list li:nth-child(3) { background: #dfdce7; }
.ct-matters-list li:nth-child(3)::before { background: var(--ct-purple); }
.ct-matters-list li:nth-child(4) { background: #faf2db; }
.ct-matters-list li:nth-child(4)::before { background: #f5b800; }
.ct-matters-list li:nth-child(5) { background: #d5ede0; }
.ct-matters-list li:nth-child(5)::before { background: var(--ct-green); }
.ct-matters-list li:nth-child(6) { background: #d6dbdf; }
.ct-matters-list li:nth-child(6)::before { background: var(--ct-navy); }

.ct-matters-visual { text-align: center; }
.ct-matters-visual img { width: 100%; max-width: 340px; height: auto; display: block; margin: 0 auto; }

/* ============================================
   SECTION 5: THE CT SKILLS STUDENTS PRACTISE
   ============================================ */
.ct-skills { padding: 62px 0 66px; background: var(--ct-white); }
.ct-skills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.ct-skill-card {
    border-radius: 16px; border: 2px solid; padding: 30px 28px 32px;
    display: flex; flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.ct-skill-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(17,47,73,0.10); }
.ct-skill-card.pink { background: #fee8f5; border-color: #f9a8d4; }
.ct-skill-card.blue { background: #ddf5ff; border-color: #7dd3f0; }
.ct-skill-icon { height: 96px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.ct-skill-icon img { width: 96px; height: 96px; object-fit: contain; }
.ct-skill-card h3 { font-size: 1.5rem; font-weight: 800; margin: 0 0 12px; line-height: 1.2; }
.ct-skill-card p { margin: 0; font-size: 0.95rem; line-height: 1.55; color: var(--ct-gray-700); }

/* ============================================
   SECTION 6: WHERE SCHOOLS USE PICTOMATH
   ============================================ */
.ct-where { padding: 40px 0 60px; background: var(--ct-white); }
.ct-where-grid { display: grid; grid-template-columns: 34% 58%; justify-content: space-between; align-items: center; gap: 32px; }
.ct-where-photo img { width: 100%; max-width: 365px; height: auto; display: block; margin: 0 auto; }
.ct-where-list h2 { font-size: 2.15rem; font-weight: 800; margin: 0 0 26px; line-height: 1.2; }
.ct-where-list ul { list-style: none; padding: 0; margin: 0; }
.ct-where-list li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; margin-bottom: 24px; }
.ct-where-list li:last-child { margin-bottom: 0; }
.ct-where-list li img { width: 26px; height: 26px; object-fit: contain; margin-top: 2px; }
.ct-where-list li h4 { font-size: 1.28rem; font-weight: 800; margin: 0 0 5px; }
.ct-where-list li p { margin: 0; font-size: 1.08rem; line-height: 1.5; color: var(--ct-gray-700); }

/* ============================================
   SECTION 7: HOW PICTOMATH GROWS WITH YOUR STUDENTS
   ============================================ */
.ct-grows { padding: 62px 0 66px; background: var(--ct-gray-100); }
.ct-grade-table {
    max-width: 772px; margin: 0 auto; background: #fff; border-radius: 12px; overflow: hidden;
    box-shadow: 0 4px 18px rgba(17,47,73,0.07); border: 1px solid var(--ct-gray-200);
}
.ct-grade-table table { width: 100%; border-collapse: collapse; }
.ct-grade-table th, .ct-grade-table td {
    padding: 17px 20px; text-align: center; font-size: 0.98rem;
}
.ct-grade-table thead th { font-weight: 800; font-size: 1.02rem; }
.ct-grade-table thead th:first-child { background: #fed0ea; color: var(--ct-navy); width: 35%; }
.ct-grade-table thead th:last-child { background: var(--ct-grad-tri); color: #fff; }
.ct-grade-table tbody td { color: var(--ct-gray-700); border-top: 1px solid var(--ct-gray-200); }
.ct-grade-table tbody td:first-child { border-right: 1px solid var(--ct-gray-200); }
.ct-grade-table tbody tr:hover td { background: #fafbfd; }

/* ============================================
   SECTION 8: WHAT STUDENTS PRACTISE
   ============================================ */
.ct-practise { padding: 62px 0 60px; background: var(--ct-white); }
.ct-practise-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ct-practise-card {
    display: flex; align-items: center; gap: 14px; background: #fff;
    border: 1px solid var(--ct-gray-200); border-radius: 12px; padding: 16px 18px; min-height: 86px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ct-practise-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(17,47,73,0.09); border-color: var(--ct-gray-300); }
.ct-practise-card img { width: 46px; height: 46px; flex-shrink: 0; object-fit: contain; }
.ct-practise-card span { font-size: 0.98rem; font-weight: 700; color: var(--ct-navy); line-height: 1.25; }

/* ============================================
   SECTION 9: TEACHER SUPPORT INCLUDED
   ============================================ */
.ct-support { padding: 58px 0 64px; background: var(--ct-white); }
.ct-support-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ct-support-card {
    background: #fff; border: 2px solid var(--ct-gray-200); border-radius: 16px;
    padding: 26px 22px 24px; text-align: center;
    display: flex; flex-direction: column; align-items: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ct-support-card:nth-child(3n+1) { border-color: #f9c6e2; }
.ct-support-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(17,47,73,0.10); border-color: #f9a8d4; }
.ct-support-icon { height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.ct-support-icon img { width: 72px; height: 72px; object-fit: contain; }
.ct-support-card h3 { font-size: 1.22rem; font-weight: 800; margin: 0 0 8px; line-height: 1.25; }
.ct-support-card p { margin: 0; font-size: 0.88rem; line-height: 1.5; color: var(--ct-gray-700); }

/* ============================================
   SECTION 10: SCHOOL IMPLEMENTATION MODEL
   ============================================ */
.ct-impl { padding: 60px 0 64px; background: var(--ct-lavender); text-align: center; }
.ct-impl h2 { font-size: 2.15rem; font-weight: 800; margin: 0 0 14px; }
.ct-impl h3 { font-size: 1.55rem; font-weight: 800; color: var(--ct-pink); margin: 0 0 26px; line-height: 1.3; }
.ct-impl p { font-size: 1.05rem; line-height: 1.6; color: var(--ct-gray-700); max-width: 780px; margin: 0 auto 40px; }
.ct-impl-flow-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ct-impl-flow { width: 100%; max-width: 1000px; height: auto; display: block; margin: 0 auto; }

/* ============================================
   SECTION 11: SUPPORTS GLOBAL FRAMEWORKS
   ============================================ */
.ct-frameworks { padding: 60px 0 64px; background: var(--ct-navy); text-align: center; }
.ct-frameworks h2 { color: var(--ct-yellow); font-size: 2.15rem; font-weight: 800; margin: 0 0 14px; }
.ct-frameworks > .container > p { color: #dbe4ee; font-size: 1rem; margin: 0 0 40px; }
.ct-frameworks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; text-align: left; }
.ct-framework-card {
    background: var(--ct-lavender); border-radius: 16px; padding: 26px 30px;
    display: grid; grid-template-columns: 74px 1fr; gap: 22px; align-items: center;
}
.ct-framework-icon img { width: 74px; height: 74px; object-fit: contain; display: block; }
.ct-framework-card h4 {
    font-size: 1.05rem; font-weight: 800; letter-spacing: 0.6px;
    color: var(--ct-navy); margin: 0 0 12px;
}
.ct-framework-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.ct-framework-tags span {
    font-size: 0.95rem; font-weight: 400; color: var(--ct-navy);
    padding: 8px 18px; border-radius: 6px;
}
.ct-framework-card.india .ct-framework-tags span { background: #d5f3fe; }
.ct-framework-card.intl .ct-framework-tags span { background: #ffe0f0; }

/* ============================================
   SECTION 12: WHY SCHOOLS CHOOSE PICTOMATH
   ============================================ */
.ct-choose { padding: 56px 0 60px; background: var(--ct-white); }
.ct-choose-grid { display: grid; grid-template-columns: 42% 52%; justify-content: space-between; align-items: center; gap: 32px; }
.ct-choose-photo img { width: 100%; max-width: 430px; height: auto; display: block; margin: 0 auto; }
.ct-choose-list h2 { font-size: 2.15rem; font-weight: 800; margin: 0 0 28px; line-height: 1.2; }
.ct-choose-list ul { list-style: none; padding: 0; margin: 0; }
.ct-choose-list li {
    display: flex; align-items: center; gap: 16px; margin-bottom: 20px;
    font-size: 1.06rem; color: var(--ct-navy); line-height: 1.4;
}
.ct-choose-list li:last-child { margin-bottom: 0; }
.ct-choose-list li img { width: 26px; height: 26px; object-fit: contain; flex-shrink: 0; }

/* ============================================
   SECTION 13: WHY PICTOMATH IS VALUABLE
   ============================================ */
.ct-value { padding: 60px 0 66px; background: var(--ct-lavender); }
.ct-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: stretch; }
.ct-value-card { border-radius: 20px; border: 2px solid; padding: 26px 28px 30px; }
.ct-value-card h3 { font-size: 1.42rem; font-weight: 800; margin: 0 0 18px; text-align: center; }
.ct-value-card ul { list-style: none; padding: 0; margin: 0; }
.ct-value-card li {
    position: relative; padding-left: 22px; margin-bottom: 12px;
    font-size: 1.02rem; line-height: 1.5; color: var(--ct-navy); text-align: justify;
}
.ct-value-card li:last-child { margin-bottom: 0; }
.ct-value-card li::before {
    content: ""; position: absolute; left: 0; top: 8px;
    width: 8px; height: 8px; border-radius: 50%;
}
.ct-value-card.pink   { background: #ffe0f0; border-color: #f48fc4; }
.ct-value-card.pink li::before   { background: var(--ct-pink); }
.ct-value-card.blue   { background: #d5f3fe; border-color: #6fcdee; }
.ct-value-card.blue li::before   { background: var(--ct-blue); }
.ct-value-card.purple { background: #eedaff; border-color: #b78cdf; }
.ct-value-card.purple li::before { background: var(--ct-purple); }

/* ============================================
   SECTION 14: READY TO BRING CT TO LIFE
   ============================================ */
.ct-cta { padding: 60px 0 66px; background: var(--ct-white); text-align: center; }
.ct-cta h2 { font-size: 2.15rem; font-weight: 800; margin: 0 0 18px; line-height: 1.25; }
.ct-cta p { font-size: 1rem; line-height: 1.65; color: var(--ct-gray-700); max-width: 700px; margin: 0 auto 34px; }

/* ============================================
   WHATSAPP FLOAT
   ============================================ */
.ct-whatsapp-float {
    position: fixed; bottom: 22px; left: 22px;
    width: 52px; height: 52px; border-radius: 50%; background: #25d366;
    box-shadow: 0 5px 16px rgba(0,0,0,0.16); display: flex; align-items: center; justify-content: center;
    z-index: 999; color: #fff; transition: transform 0.2s ease;
}
.ct-whatsapp-float:hover { transform: scale(1.06); color: #fff; }
.ct-whatsapp-float svg { width: 28px; height: 28px; fill: #fff; }

/* ============================================
   RESPONSIVE - Tablet (max-width: 991px)
   ============================================ */
@media (max-width: 991px) {
    .ct-hero-content h1 { font-size: 1.85rem; }
    .ct-hero-logo { width: 220px; }
    .ct-hero-sub { font-size: 0.85rem; margin: 12px 0 16px; }
    .ct-hero-badge { font-size: 0.78rem; padding: 8px 16px; }

    .ct-impact-grid { grid-template-columns: repeat(2, 1fr); }
    .ct-impact h2 { font-size: 1.7rem; }

    .ct-grade-pills-row { grid-template-columns: 1fr; gap: 14px; max-width: 520px; margin: 0 auto 20px; }
    .ct-kit-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }

    .ct-matters-grid { grid-template-columns: 1fr; gap: 34px; }
    .ct-matters-visual img { max-width: 300px; }

    .ct-skills-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .ct-where-grid { grid-template-columns: 1fr; gap: 30px; }
    .ct-practise-grid { grid-template-columns: repeat(2, 1fr); }
    .ct-support-grid { grid-template-columns: repeat(2, 1fr); }
    .ct-support-card:nth-child(3n+1) { border-color: var(--ct-gray-200); }
    .ct-support-card:nth-child(2n+1) { border-color: #f9c6e2; }
    .ct-frameworks-grid { grid-template-columns: 1fr; gap: 24px; }
    .ct-choose-grid { grid-template-columns: 1fr; gap: 32px; }
    .ct-value-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
    .ct-section-title, .ct-impl h2, .ct-frameworks h2, .ct-cta h2,
    .ct-matters-copy h2, .ct-where-list h2, .ct-choose-list h2 { font-size: 1.7rem; }
}

/* ============================================
   RESPONSIVE - Mobile (max-width: 600px)
   ============================================ */
@media (max-width: 600px) {
    .ct-hero { background: var(--ct-grad-hero); }
    .ct-hero-bg-wrap { display: none; }
    .ct-hero .container { position: static; padding-top: 40px; padding-bottom: 44px; }
    .ct-hero-content { text-align: center; max-width: 100%; }
    .ct-hero-logo { margin: 0 auto 16px; width: 210px; }
    .ct-hero-content h1 { font-size: 1.55rem; margin: 0 auto; }
    .ct-hero-sub { margin: 12px auto 18px; }

    .ct-impact { padding: 40px 0; }
    .ct-impact-grid { grid-template-columns: 1fr; gap: 14px; }
    .ct-impact-card { min-height: 0; }
    .ct-impact h2 { font-size: 1.45rem; }

    .ct-choose-kit { padding: 30px 0 44px; }
    .ct-kit-body { padding: 22px 20px 24px; }
    .ct-kit-body h3 { font-size: 1.45rem; }
    .ct-kit-features { grid-template-columns: 1fr; gap: 12px; }
    .ct-kit-buttons { flex-direction: column; }

    .ct-matters { padding: 42px 0 46px; }
    .ct-matters-copy p { text-align: left; }
    .ct-skills { padding: 42px 0 46px; }
    .ct-skills-grid { grid-template-columns: 1fr; }
    .ct-skill-card { padding: 24px 22px 26px; }
    .ct-skill-card h3 { font-size: 1.25rem; }

    .ct-where { padding: 26px 0 44px; }
    .ct-grows { padding: 42px 0 46px; }
    .ct-grade-table th, .ct-grade-table td { padding: 13px 12px; font-size: 0.86rem; }

    .ct-practise { padding: 42px 0; }
    .ct-practise-grid { grid-template-columns: 1fr; }
    .ct-support { padding: 40px 0 44px; }
    .ct-support-grid { grid-template-columns: 1fr; }
    .ct-support-card:nth-child(2n+1) { border-color: var(--ct-gray-200); }
    .ct-support-card:nth-child(n) { border-color: #f9c6e2; }

    .ct-impl { padding: 42px 0 46px; }
    .ct-impl h3 { font-size: 1.25rem; }
    .ct-impl-flow { min-width: 600px; }
    .ct-value-card li { text-align: left; }
    .ct-frameworks { padding: 42px 0 46px; }
    .ct-framework-card { grid-template-columns: 1fr; gap: 14px; text-align: center; }
    .ct-framework-icon img { margin: 0 auto; }
    .ct-framework-tags { justify-content: center; }

    .ct-choose { padding: 36px 0 44px; }
    .ct-value { padding: 42px 0 46px; }
    .ct-cta { padding: 42px 0 50px; }
    .ct-btn-gradient { width: 100%; }

    .ct-section-title, .ct-impl h2, .ct-frameworks h2, .ct-cta h2,
    .ct-matters-copy h2, .ct-where-list h2, .ct-choose-list h2 { font-size: 1.45rem; }
}
