{"id":3361,"date":"2021-04-19T13:49:12","date_gmt":"2021-04-19T13:49:12","guid":{"rendered":"https:\/\/avadawebsites.wpengine.com\/classic\/?page_id=3361"},"modified":"2026-06-19T14:05:52","modified_gmt":"2026-06-19T14:05:52","slug":"classic-home","status":"publish","type":"page","link":"https:\/\/gpatocgpacalculator.pk\/","title":{"rendered":"Classic Home"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><style>\n\/* ===== Design Tokens ===== *\/\n:root {\n  --green: #10B981;\n  --green-2: #059669;\n  --green-3: #047857;\n  --green-light: #D1FAE5;\n  --green-bg: #ECFDF5;\n  --purple: #8B5CF6;\n  --purple-2: #7C3AED;\n  --purple-light: #EDE9FE;\n  --purple-bg: #F5F3FF;\n  --yellow: #FBBF24;\n  --yellow-2: #F59E0B;\n  --yellow-light: #FEF3C7;\n  --yellow-bg: #FFFBEB;\n  --pink: #EC4899;\n  --pink-2: #DB2777;\n  --pink-light: #FCE7F3;\n  --pink-bg: #FDF2F8;\n  --blue: #3B82F6;\n  --blue-2: #2563EB;\n  --blue-light: #DBEAFE;\n  --blue-bg: #EFF6FF;\n  --orange: #F97316;\n  --orange-2: #EA580C;\n  --orange-light: #FFEDD5;\n  --orange-bg: #FFF7ED;\n  --red: #EF4444;\n\n  --ink: #0F172A;\n  --ink-2: #1E293B;\n  --ink-3: #475569;\n  --muted: #64748B;\n  --muted-2: #94A3B8;\n  --border: #E2E8F0;\n  --border-soft: #F1F5F9;\n  --bg: #FFFFFF;\n  --bg-soft: #F8FAFC;\n\n  --font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;\n\n  --r-sm: 10px;\n  --r-md: 16px;\n  --r-lg: 24px;\n  --r-xl: 32px;\n  --r-pill: 999px;\n\n  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);\n  --shadow-md: 0 4px 12px rgba(15, 23, 42, 0.08);\n  --shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.12);\n  --shadow-xl: 0 20px 60px rgba(15, 23, 42, 0.15);\n\n  --container: 1200px;\n  --gutter: clamp(1rem, 3vw, 1.75rem);\n}\n\n\/* ===== Reset ===== *\/\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\nhtml { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }\nbody {\n  background: var(--bg);\n  color: var(--ink);\n  font-family: var(--font);\n  font-size: 16px;\n  line-height: 1.6;\n  -webkit-font-smoothing: antialiased;\n  overflow-x: hidden;\n}\nimg { max-width: 100%; display: block; }\nbutton { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }\ninput, select { font: inherit; color: inherit; }\na { color: var(--ink); text-decoration: none; }\na:hover { color: var(--green-2); }\n:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; border-radius: 4px; }\n\n\/* ===== Type ===== *\/\nh1, h2, h3, h4 { font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; color: var(--ink); }\nh1 { font-size: clamp(2.5rem, 6vw, 4.25rem); }\nh2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); margin-bottom: 0.75rem; }\nh3 { font-size: clamp(1.15rem, 2vw, 1.35rem); font-weight: 700; }\np { color: var(--ink-3); }\n\n.tnum { font-variant-numeric: tabular-nums; }\n.gradient-text {\n  background: linear-gradient(90deg, var(--green) 0%, var(--purple) 100%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  -webkit-text-fill-color: transparent;\n}\n.green-text { color: var(--green-2); }\n\n\/* ===== Layout ===== *\/\n.wrap {\n  max-width: var(--container);\n  margin: 0 auto;\n  padding-left: var(--gutter);\n  padding-right: var(--gutter);\n}\n\n\/* ===== Header ===== *\/\n.site-header {\n  padding: 1rem 0;\n  background: var(--bg);\n  border-bottom: 1px solid var(--border-soft);\n  position: sticky;\n  top: 0;\n  z-index: 50;\n  backdrop-filter: blur(8px);\n  background: rgba(255, 255, 255, 0.85);\n}\n.nav {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n.logo {\n  display: flex;\n  align-items: center;\n  gap: 0.6rem;\n  font-weight: 800;\n  font-size: 1.1rem;\n}\n.logo-mark {\n  width: 36px;\n  height: 36px;\n  background: linear-gradient(135deg, var(--green) 0%, var(--green-3) 100%);\n  border-radius: 10px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: white;\n  font-weight: 800;\n  font-size: 0.95rem;\n  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);\n}\n.nav-links { display: none; gap: 1.5rem; }\n.nav-links a { color: var(--ink-3); font-weight: 500; font-size: 0.95rem; }\n.nav-links a:hover { color: var(--ink); }\n@media (min-width: 760px) { .nav-links { display: flex; } }\n.nav-cta {\n  background: var(--ink);\n  color: white !important;\n  padding: 0.6rem 1.1rem;\n  border-radius: var(--r-pill);\n  font-weight: 700;\n  font-size: 0.9rem;\n  transition: transform 0.15s, background 0.15s;\n}\n.nav-cta:hover { background: var(--green); color: white !important; transform: translateY(-1px); }\n\n\/* ===== Hero ===== *\/\n.hero {\n  padding: clamp(2.5rem, 7vw, 5rem) 0 clamp(2rem, 5vw, 3.5rem);\n  text-align: center;\n  background:\n    radial-gradient(ellipse 80% 50% at 50% 0%, var(--green-bg) 0%, transparent 60%),\n    radial-gradient(ellipse 60% 40% at 20% 30%, var(--purple-bg) 0%, transparent 50%),\n    radial-gradient(ellipse 60% 40% at 80% 30%, var(--yellow-bg) 0%, transparent 50%);\n  position: relative;\n  overflow: hidden;\n}\n.hero::before, .hero::after {\n  content: \"\";\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(40px);\n  opacity: 0.4;\n  pointer-events: none;\n}\n.hero::before {\n  width: 200px;\n  height: 200px;\n  background: var(--green-light);\n  top: -50px;\n  left: -50px;\n}\n.hero::after {\n  width: 240px;\n  height: 240px;\n  background: var(--pink-light);\n  bottom: -80px;\n  right: -50px;\n}\n.hero-content { position: relative; z-index: 2; }\n\n.hero-badge {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  background: white;\n  border: 1px solid var(--border);\n  border-radius: var(--r-pill);\n  padding: 0.45rem 1rem;\n  font-size: 0.82rem;\n  font-weight: 600;\n  color: var(--ink-3);\n  margin-bottom: 1.5rem;\n  box-shadow: var(--shadow-sm);\n}\n.hero-badge .dot {\n  width: 8px;\n  height: 8px;\n  background: var(--green);\n  border-radius: 50%;\n  box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);\n  animation: pulse 2s ease-in-out infinite;\n}\n@keyframes pulse {\n  0%, 100% { box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2); }\n  50% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.05); }\n}\n.hero h1 {\n  max-width: 900px;\n  margin: 0 auto 1.25rem;\n}\n.hero h1 .accent {\n  position: relative;\n  display: inline-block;\n}\n.hero h1 .accent::after {\n  content: \"\";\n  position: absolute;\n  bottom: 4px;\n  left: 0;\n  right: 0;\n  height: 14px;\n  background: var(--yellow);\n  z-index: -1;\n  border-radius: 6px;\n  opacity: 0.65;\n}\n.hero-lead {\n  max-width: 720px;\n  margin: 0 auto 2rem;\n  font-size: clamp(1.05rem, 1.6vw, 1.2rem);\n  color: var(--ink-3);\n}\n.hero-cta {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n}\n.hero-stats {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 1.5rem 2.5rem;\n  justify-content: center;\n  margin-top: 2.5rem;\n  padding-top: 2rem;\n  border-top: 1px solid var(--border);\n}\n.hero-stat { text-align: center; }\n.hero-stat strong {\n  display: block;\n  font-size: 1.5rem;\n  font-weight: 800;\n  color: var(--ink);\n  font-variant-numeric: tabular-nums;\n}\n.hero-stat span {\n  font-size: 0.82rem;\n  color: var(--muted);\n  font-weight: 500;\n}\n\n\/* ===== Buttons (Duolingo-style 3D) ===== *\/\n.btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  font-weight: 700;\n  font-size: 0.95rem;\n  padding: 0.85rem 1.5rem;\n  border-radius: var(--r-md);\n  transition: transform 0.1s ease, box-shadow 0.1s ease, background 0.15s;\n  text-decoration: none;\n  white-space: nowrap;\n}\n.btn-3d {\n  background: var(--green);\n  color: white;\n  box-shadow: 0 4px 0 var(--green-3);\n}\n.btn-3d:hover { background: var(--green-2); color: white; transform: translateY(-1px); box-shadow: 0 5px 0 var(--green-3); }\n.btn-3d:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--green-3); }\n\n.btn-3d-purple { background: var(--purple); box-shadow: 0 4px 0 var(--purple-2); color: white; }\n.btn-3d-purple:hover { background: var(--purple-2); color: white; transform: translateY(-1px); box-shadow: 0 5px 0 var(--purple-2); }\n.btn-3d-purple:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--purple-2); }\n\n.btn-ghost {\n  background: white;\n  color: var(--ink-2);\n  border: 2px solid var(--border);\n  box-shadow: 0 4px 0 var(--border);\n}\n.btn-ghost:hover { border-color: var(--ink-3); box-shadow: 0 5px 0 var(--border); transform: translateY(-1px); color: var(--ink); }\n.btn-ghost:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--border); }\n\n\/* ===== Calculator ===== *\/\n.calc-section {\n  padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 5rem);\n}\n.calc-card {\n  background: white;\n  border: 1px solid var(--border);\n  border-radius: var(--r-xl);\n  box-shadow: var(--shadow-xl);\n  overflow: hidden;\n  display: grid;\n  grid-template-columns: 1fr;\n}\n@media (min-width: 920px) {\n  .calc-card { grid-template-columns: 1.1fr 1fr; }\n}\n\n.calc-input-panel {\n  padding: clamp(1.5rem, 3vw, 2.25rem);\n}\n.calc-result-panel {\n  padding: clamp(1.5rem, 3vw, 2.25rem);\n  background: linear-gradient(160deg, var(--green-bg) 0%, var(--purple-bg) 100%);\n  position: relative;\n  border-top: 1px solid var(--border);\n}\n@media (min-width: 920px) {\n  .calc-result-panel { border-top: none; border-left: 1px solid var(--border); }\n}\n\n.calc-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  margin-bottom: 1.5rem;\n  gap: 1rem;\n  flex-wrap: wrap;\n}\n.calc-head h2 { font-size: 1.4rem; }\n.calc-step-pill {\n  background: var(--green-light);\n  color: var(--green-3);\n  font-size: 0.75rem;\n  font-weight: 700;\n  padding: 0.35rem 0.75rem;\n  border-radius: var(--r-pill);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n\n.field-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0.85rem;\n  margin-bottom: 1.25rem;\n}\n.field { display: flex; flex-direction: column; gap: 0.4rem; }\n.field-label {\n  font-size: 0.82rem;\n  font-weight: 600;\n  color: var(--ink-2);\n}\n.field-control {\n  background: var(--bg-soft);\n  border: 2px solid var(--border);\n  border-radius: var(--r-md);\n  padding: 0.75rem 0.9rem;\n  font-size: 0.95rem;\n  font-weight: 600;\n  color: var(--ink);\n  transition: border-color 0.15s, background 0.15s;\n}\n.field-control:hover { border-color: var(--muted-2); }\n.field-control:focus {\n  outline: none;\n  border-color: var(--green);\n  background: white;\n}\nselect.field-control {\n  appearance: none;\n  background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%2310B981' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'\/><\/svg>\");\n  background-repeat: no-repeat;\n  background-position: right 1rem center;\n  padding-right: 2.5rem;\n  cursor: pointer;\n}\n\n.toggle-row {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  padding: 0.85rem 1rem;\n  background: var(--purple-bg);\n  border: 2px solid var(--purple-light);\n  border-radius: var(--r-md);\n  margin-bottom: 1.25rem;\n}\n.toggle-row label {\n  font-size: 0.92rem;\n  font-weight: 600;\n  color: var(--ink);\n}\n.toggle-row small {\n  display: block;\n  font-size: 0.78rem;\n  font-weight: 500;\n  color: var(--ink-3);\n  margin-top: 0.15rem;\n}\n.switch {\n  position: relative;\n  width: 48px;\n  height: 28px;\n  background: var(--muted-2);\n  border-radius: var(--r-pill);\n  cursor: pointer;\n  transition: background 0.2s;\n  flex-shrink: 0;\n}\n.switch::after {\n  content: \"\";\n  position: absolute;\n  top: 3px;\n  left: 3px;\n  width: 22px;\n  height: 22px;\n  background: white;\n  border-radius: 50%;\n  transition: transform 0.2s;\n  box-shadow: 0 2px 4px rgba(0,0,0,0.2);\n}\n.switch.on { background: var(--green); }\n.switch.on::after { transform: translateX(20px); }\n\n\/* Semester rows *\/\n.sem-list-head {\n  display: grid;\n  grid-template-columns: 1fr 1fr 36px;\n  gap: 0.5rem;\n  padding: 0.5rem 0.25rem;\n  font-size: 0.75rem;\n  font-weight: 700;\n  color: var(--muted);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\n.sem-list-head.no-credits { grid-template-columns: 1fr 36px; }\n.sem-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr 36px;\n  gap: 0.5rem;\n  margin-bottom: 0.5rem;\n  align-items: center;\n  animation: slideIn 0.25s ease;\n}\n.sem-row.no-credits { grid-template-columns: 1fr 36px; }\n@keyframes slideIn {\n  from { opacity: 0; transform: translateY(-4px); }\n  to { opacity: 1; transform: translateY(0); }\n}\n.sem-input-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n.sem-tag {\n  position: absolute;\n  left: 0.75rem;\n  background: var(--purple-light);\n  color: var(--purple-2);\n  font-size: 0.7rem;\n  font-weight: 800;\n  padding: 0.15rem 0.45rem;\n  border-radius: var(--r-sm);\n  pointer-events: none;\n}\n.sem-input {\n  background: var(--bg-soft);\n  border: 2px solid var(--border);\n  border-radius: var(--r-md);\n  padding: 0.7rem 0.9rem 0.7rem 3rem;\n  font-size: 0.95rem;\n  font-weight: 700;\n  width: 100%;\n  text-align: right;\n  font-variant-numeric: tabular-nums;\n  transition: border-color 0.15s, background 0.15s;\n}\n.sem-input:hover { border-color: var(--muted-2); }\n.sem-input:focus {\n  outline: none;\n  border-color: var(--green);\n  background: white;\n}\n.sem-input.error { border-color: var(--red); background: #FEF2F2; }\n.sem-input.credits-input { padding-left: 0.9rem; }\n.sem-remove {\n  width: 36px;\n  height: 36px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: var(--r-md);\n  color: var(--muted);\n  font-size: 1.4rem;\n  font-weight: 700;\n  background: var(--bg-soft);\n  border: 2px solid var(--border);\n  transition: all 0.15s;\n}\n.sem-remove:hover { background: #FEF2F2; border-color: var(--red); color: var(--red); }\n.sem-remove:disabled { opacity: 0.4; cursor: not-allowed; }\n\n.calc-actions {\n  display: flex;\n  gap: 0.75rem;\n  margin-top: 1.5rem;\n  flex-wrap: wrap;\n}\n.calc-actions .btn { padding: 0.75rem 1.25rem; font-size: 0.9rem; }\n\n\/* Result Panel *\/\n.result-empty {\n  text-align: center;\n  padding: 2rem 1rem;\n  color: var(--muted);\n}\n.result-empty-emoji {\n  font-size: 3rem;\n  margin-bottom: 1rem;\n  filter: grayscale(40%);\n}\n\n.result-card {\n  background: white;\n  border-radius: var(--r-lg);\n  padding: 1.5rem;\n  box-shadow: var(--shadow-md);\n  text-align: center;\n  position: relative;\n  overflow: hidden;\n}\n.result-label {\n  font-size: 0.78rem;\n  font-weight: 700;\n  color: var(--muted);\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  margin-bottom: 0.25rem;\n}\n.result-value {\n  font-size: clamp(3rem, 8vw, 4.5rem);\n  font-weight: 800;\n  line-height: 1;\n  font-variant-numeric: tabular-nums;\n  letter-spacing: -0.04em;\n  background: linear-gradient(135deg, var(--green) 0%, var(--purple) 100%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  -webkit-text-fill-color: transparent;\n  transition: transform 0.3s;\n}\n.result-value-wrap.pop .result-value { animation: pop 0.4s ease; }\n@keyframes pop {\n  0% { transform: scale(1); }\n  50% { transform: scale(1.08); }\n  100% { transform: scale(1); }\n}\n.result-scale {\n  font-size: 1rem;\n  color: var(--muted);\n  font-weight: 600;\n  margin-top: 0.25rem;\n}\n.result-grade-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.4rem;\n  margin-top: 0.85rem;\n  padding: 0.4rem 0.9rem;\n  border-radius: var(--r-pill);\n  font-size: 0.82rem;\n  font-weight: 700;\n}\n.result-grade-pill.outstanding { background: var(--green-light); color: var(--green-3); }\n.result-grade-pill.excellent { background: var(--blue-light); color: var(--blue-2); }\n.result-grade-pill.very-good { background: var(--purple-light); color: var(--purple-2); }\n.result-grade-pill.good { background: var(--yellow-light); color: var(--yellow-2); }\n.result-grade-pill.average { background: var(--orange-light); color: var(--orange-2); }\n.result-grade-pill.low { background: #FEE2E2; color: #B91C1C; }\n\n\/* Grade meter *\/\n.meter-wrap {\n  margin: 1.25rem 0 0;\n  text-align: left;\n}\n.meter {\n  height: 12px;\n  background: var(--bg-soft);\n  border-radius: var(--r-pill);\n  overflow: hidden;\n  position: relative;\n  border: 1px solid var(--border);\n}\n.meter-fill {\n  height: 100%;\n  width: 0%;\n  border-radius: var(--r-pill);\n  background: linear-gradient(90deg, var(--red), var(--orange), var(--yellow), var(--green));\n  transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n.meter-marks {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 0.4rem;\n  font-size: 0.7rem;\n  color: var(--muted);\n  font-weight: 600;\n  font-variant-numeric: tabular-nums;\n}\n\n\/* Sub-grid *\/\n.result-subgrid {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n  gap: 0.6rem;\n  margin-top: 1.25rem;\n}\n.result-mini {\n  background: white;\n  border-radius: var(--r-md);\n  padding: 0.85rem 1rem;\n  box-shadow: var(--shadow-sm);\n}\n.result-mini-label {\n  font-size: 0.7rem;\n  color: var(--muted);\n  font-weight: 700;\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n  margin-bottom: 0.2rem;\n}\n.result-mini-value {\n  font-size: 1.2rem;\n  font-weight: 800;\n  color: var(--ink);\n  font-variant-numeric: tabular-nums;\n}\n\n\/* Working panel *\/\n.work-toggle {\n  margin-top: 1.25rem;\n  background: white;\n  border-radius: var(--r-md);\n  padding: 0.85rem 1rem;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  box-shadow: var(--shadow-sm);\n  cursor: pointer;\n  font-weight: 700;\n  font-size: 0.9rem;\n  color: var(--ink);\n  transition: background 0.15s;\n}\n.work-toggle:hover { background: var(--bg-soft); }\n.work-toggle-icon {\n  font-size: 1.1rem;\n  transition: transform 0.2s;\n}\n.work-toggle.open .work-toggle-icon { transform: rotate(180deg); }\n.work-content {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.3s ease;\n}\n.work-toggle.open + .work-content { max-height: 600px; }\n.work-stage {\n  margin-top: 0.75rem;\n  background: white;\n  border-radius: var(--r-md);\n  padding: 1.25rem;\n  font-family: ui-monospace, 'SF Mono', monospace;\n  font-size: 0.85rem;\n  line-height: 1.8;\n  color: var(--ink-2);\n  box-shadow: var(--shadow-sm);\n  white-space: pre-wrap;\n  font-variant-numeric: tabular-nums;\n}\n.work-stage .work-final {\n  display: block;\n  margin-top: 0.5rem;\n  padding-top: 0.65rem;\n  border-top: 2px dashed var(--border);\n  font-weight: 800;\n  font-size: 1rem;\n}\n.work-stage .work-final strong {\n  background: linear-gradient(135deg, var(--green) 0%, var(--purple) 100%);\n  -webkit-background-clip: text;\n  background-clip: text;\n  -webkit-text-fill-color: transparent;\n  font-size: 1.4rem;\n}\n\n\/* ===== Content Sections ===== *\/\n.section {\n  padding: clamp(3rem, 6vw, 5rem) 0;\n}\n.section-soft { background: var(--bg-soft); }\n.section-green { background: var(--green-bg); }\n.section-purple { background: var(--purple-bg); }\n.section-yellow { background: var(--yellow-bg); }\n.section-pink { background: var(--pink-bg); }\n\n.section-head {\n  text-align: center;\n  max-width: 720px;\n  margin: 0 auto 3rem;\n}\n.section-eyebrow {\n  display: inline-block;\n  background: white;\n  border: 1px solid var(--border);\n  border-radius: var(--r-pill);\n  padding: 0.35rem 1rem;\n  font-size: 0.78rem;\n  font-weight: 700;\n  color: var(--ink-2);\n  margin-bottom: 1rem;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n}\n.section-head p { font-size: 1.05rem; margin-top: 0.75rem; }\n\n\/* Formula cards *\/\n.formula-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 1.25rem;\n}\n@media (min-width: 760px) { .formula-grid { grid-template-columns: repeat(3, 1fr); } }\n.formula-card {\n  background: white;\n  border-radius: var(--r-lg);\n  padding: 1.75rem;\n  box-shadow: var(--shadow-md);\n  transition: transform 0.2s, box-shadow 0.2s;\n  border: 1px solid var(--border-soft);\n  position: relative;\n  overflow: hidden;\n}\n.formula-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }\n.formula-card-icon {\n  width: 56px;\n  height: 56px;\n  border-radius: var(--r-md);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 1.5rem;\n  font-weight: 800;\n  margin-bottom: 1rem;\n  color: white;\n}\n.formula-card.green .formula-card-icon { background: linear-gradient(135deg, var(--green) 0%, var(--green-3) 100%); box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3); }\n.formula-card.purple .formula-card-icon { background: linear-gradient(135deg, var(--purple) 0%, var(--purple-2) 100%); box-shadow: 0 6px 16px rgba(139, 92, 246, 0.3); }\n.formula-card.orange .formula-card-icon { background: linear-gradient(135deg, var(--orange) 0%, var(--orange-2) 100%); box-shadow: 0 6px 16px rgba(249, 115, 22, 0.3); }\n.formula-card h3 { margin-bottom: 0.4rem; }\n.formula-card p { font-size: 0.95rem; }\n.formula-eq {\n  background: var(--bg-soft);\n  border-radius: var(--r-md);\n  padding: 0.85rem 1rem;\n  margin: 1rem 0;\n  font-family: ui-monospace, 'SF Mono', monospace;\n  font-size: 0.85rem;\n  color: var(--ink);\n  font-variant-numeric: tabular-nums;\n  font-weight: 600;\n  line-height: 1.7;\n}\n.formula-eq strong { color: var(--green-2); font-weight: 800; }\n\n\/* GPA vs CGPA *\/\n.compare-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 1.5rem;\n}\n@media (min-width: 760px) { .compare-grid { grid-template-columns: 1fr 1fr; } }\n.compare-card {\n  background: white;\n  border-radius: var(--r-lg);\n  padding: 2rem;\n  box-shadow: var(--shadow-md);\n  border-top: 6px solid var(--green);\n}\n.compare-card.purple { border-top-color: var(--purple); }\n.compare-emoji { font-size: 2.5rem; margin-bottom: 1rem; }\n.compare-card h3 { margin-bottom: 0.5rem; font-size: 1.4rem; }\n.compare-card ul { list-style: none; margin-top: 1.25rem; }\n.compare-card li {\n  display: flex;\n  justify-content: space-between;\n  gap: 1rem;\n  padding: 0.7rem 0;\n  border-top: 1px solid var(--border-soft);\n  font-size: 0.92rem;\n  color: var(--ink-3);\n}\n.compare-card li strong { color: var(--ink); font-weight: 700; text-align: right; }\n\n\/* Table *\/\n.table-wrap {\n  border-radius: var(--r-lg);\n  overflow: hidden;\n  box-shadow: var(--shadow-md);\n  background: white;\n  border: 1px solid var(--border);\n}\n.table-scroll { overflow-x: auto; }\ntable {\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.95rem;\n  font-variant-numeric: tabular-nums;\n}\nth, td {\n  padding: 1rem 1.25rem;\n  text-align: left;\n  border-bottom: 1px solid var(--border-soft);\n}\nth {\n  background: var(--bg-soft);\n  font-weight: 800;\n  font-size: 0.78rem;\n  color: var(--ink-2);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n}\ntd { font-weight: 600; color: var(--ink); }\ntr:last-child td { border-bottom: none; }\ntr:hover td { background: var(--green-bg); }\n.grade-cell {\n  display: inline-block;\n  padding: 0.2rem 0.6rem;\n  border-radius: var(--r-sm);\n  font-size: 0.8rem;\n  font-weight: 800;\n}\n.grade-a { background: var(--green-light); color: var(--green-3); }\n.grade-b { background: var(--blue-light); color: var(--blue-2); }\n.grade-c { background: var(--yellow-light); color: var(--yellow-2); }\n.grade-d { background: var(--orange-light); color: var(--orange-2); }\n.grade-f { background: #FEE2E2; color: #B91C1C; }\n\n\/* University cards *\/\n.uni-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 1.25rem;\n}\n@media (min-width: 700px) { .uni-grid { grid-template-columns: 1fr 1fr; } }\n.uni-card {\n  background: white;\n  border-radius: var(--r-lg);\n  padding: 1.75rem;\n  box-shadow: var(--shadow-md);\n  transition: transform 0.2s, box-shadow 0.2s;\n  border-left: 6px solid var(--green);\n}\n.uni-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }\n.uni-card.purple { border-left-color: var(--purple); }\n.uni-card.orange { border-left-color: var(--orange); }\n.uni-card.pink { border-left-color: var(--pink); }\n.uni-card.blue { border-left-color: var(--blue); }\n.uni-card.yellow { border-left-color: var(--yellow-2); }\n.uni-tag {\n  display: inline-flex;\n  align-items: center;\n  gap: 0.4rem;\n  background: var(--green-light);\n  color: var(--green-3);\n  font-size: 0.75rem;\n  font-weight: 800;\n  padding: 0.3rem 0.7rem;\n  border-radius: var(--r-pill);\n  margin-bottom: 0.85rem;\n  text-transform: uppercase;\n  letter-spacing: 0.04em;\n}\n.uni-card.purple .uni-tag { background: var(--purple-light); color: var(--purple-2); }\n.uni-card.orange .uni-tag { background: var(--orange-light); color: var(--orange-2); }\n.uni-card.pink .uni-tag { background: var(--pink-light); color: var(--pink-2); }\n.uni-card.blue .uni-tag { background: var(--blue-light); color: var(--blue-2); }\n.uni-card.yellow .uni-tag { background: var(--yellow-light); color: var(--yellow-2); }\n.uni-card h3 { margin-bottom: 0.5rem; }\n.uni-card p { font-size: 0.95rem; margin-bottom: 0.85rem; }\n.uni-formula {\n  background: var(--bg-soft);\n  border-radius: var(--r-md);\n  padding: 0.7rem 0.9rem;\n  font-family: ui-monospace, 'SF Mono', monospace;\n  font-size: 0.82rem;\n  font-weight: 600;\n  color: var(--ink);\n  margin-top: 0.5rem;\n  font-variant-numeric: tabular-nums;\n}\n.uni-list { list-style: none; margin-top: 0.85rem; }\n.uni-list li {\n  display: flex;\n  justify-content: space-between;\n  padding: 0.55rem 0;\n  border-top: 1px solid var(--border-soft);\n  font-size: 0.92rem;\n  font-weight: 600;\n  color: var(--ink-3);\n}\n.uni-list li strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n\n\/* Mistakes *\/\n.mistakes-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 1rem;\n}\n@media (min-width: 700px) { .mistakes-grid { grid-template-columns: 1fr 1fr; } }\n.mistake-card {\n  background: white;\n  border-radius: var(--r-lg);\n  padding: 1.5rem;\n  box-shadow: var(--shadow-md);\n  display: flex;\n  gap: 1rem;\n}\n.mistake-emoji {\n  font-size: 1.75rem;\n  flex-shrink: 0;\n  width: 48px;\n  height: 48px;\n  background: var(--pink-light);\n  border-radius: var(--r-md);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.mistake-card h3 { font-size: 1.05rem; margin-bottom: 0.3rem; font-weight: 700; }\n.mistake-card p { font-size: 0.92rem; }\n\n\/* FAQ *\/\n.faq-grid {\n  display: grid;\n  gap: 0.85rem;\n  max-width: 820px;\n  margin: 0 auto;\n}\n.faq-item {\n  background: white;\n  border-radius: var(--r-md);\n  box-shadow: var(--shadow-sm);\n  border: 1px solid var(--border);\n  overflow: hidden;\n  transition: box-shadow 0.2s, border-color 0.2s;\n}\n.faq-item.open {\n  border-color: var(--green);\n  box-shadow: var(--shadow-md);\n}\n.faq-q {\n  width: 100%;\n  text-align: left;\n  padding: 1.25rem 1.5rem;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 1rem;\n  font-weight: 700;\n  font-size: 1rem;\n  color: var(--ink);\n}\n.faq-toggle {\n  width: 28px;\n  height: 28px;\n  border-radius: 50%;\n  background: var(--green-light);\n  color: var(--green-3);\n  font-size: 1.2rem;\n  font-weight: 800;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  transition: transform 0.2s, background 0.2s;\n}\n.faq-item.open .faq-toggle {\n  transform: rotate(45deg);\n  background: var(--green);\n  color: white;\n}\n.faq-a {\n  max-height: 0;\n  overflow: hidden;\n  transition: max-height 0.3s ease;\n}\n.faq-item.open .faq-a { max-height: 500px; }\n.faq-a-inner {\n  padding: 0 1.5rem 1.4rem;\n  color: var(--ink-3);\n  font-size: 0.95rem;\n}\n\n\/* CTA *\/\n.cta-block {\n  background: linear-gradient(135deg, var(--green) 0%, var(--purple) 100%);\n  border-radius: var(--r-xl);\n  padding: clamp(2.5rem, 5vw, 3.5rem);\n  text-align: center;\n  color: white;\n  position: relative;\n  overflow: hidden;\n}\n.cta-block::before, .cta-block::after {\n  content: \"\";\n  position: absolute;\n  border-radius: 50%;\n  filter: blur(60px);\n  opacity: 0.4;\n}\n.cta-block::before { width: 200px; height: 200px; background: var(--yellow); top: -50px; right: -50px; }\n.cta-block::after { width: 240px; height: 240px; background: var(--pink); bottom: -80px; left: -50px; }\n.cta-block > * { position: relative; z-index: 2; }\n.cta-block h2 { color: white; max-width: 600px; margin: 0 auto 0.75rem; }\n.cta-block p { color: rgba(255,255,255,0.9); max-width: 540px; margin: 0 auto 1.75rem; font-size: 1.05rem; }\n.cta-block .btn-3d {\n  background: white;\n  color: var(--ink);\n  box-shadow: 0 4px 0 rgba(0,0,0,0.2);\n  font-size: 1rem;\n  padding: 1rem 2rem;\n}\n.cta-block .btn-3d:hover { background: var(--yellow); color: var(--ink); box-shadow: 0 5px 0 rgba(0,0,0,0.2); }\n.cta-block .btn-3d:active { box-shadow: 0 1px 0 rgba(0,0,0,0.2); }\n\n\/* Footer *\/\n.site-footer {\n  background: var(--ink);\n  color: rgba(255,255,255,0.7);\n  padding: 3rem 0 2rem;\n}\n.footer-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 2rem;\n  margin-bottom: 2rem;\n}\n@media (min-width: 720px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr; } }\n.footer-grid .logo { color: white; margin-bottom: 1rem; }\n.footer-grid .logo-mark { background: linear-gradient(135deg, var(--green) 0%, var(--purple) 100%); }\n.footer-grid h4 {\n  color: white;\n  font-size: 0.85rem;\n  font-weight: 800;\n  margin-bottom: 1rem;\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n}\n.footer-grid ul { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; }\n.footer-grid a { color: rgba(255,255,255,0.7); font-size: 0.92rem; }\n.footer-grid a:hover { color: white; }\n.footer-grid p { color: rgba(255,255,255,0.6); font-size: 0.92rem; max-width: 360px; }\n.footer-bottom {\n  border-top: 1px solid rgba(255,255,255,0.1);\n  padding-top: 1.5rem;\n  display: flex;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  gap: 1rem;\n  font-size: 0.85rem;\n  color: rgba(255,255,255,0.5);\n}\n.footer-bottom a { color: rgba(255,255,255,0.6); }\n.footer-bottom a:hover { color: white; }\n\n\/* Confetti *\/\n.confetti-piece {\n  position: fixed;\n  width: 10px;\n  height: 14px;\n  top: -20px;\n  z-index: 9999;\n  pointer-events: none;\n  animation: fall linear forwards;\n}\n@keyframes fall {\n  to { transform: translateY(110vh) rotate(720deg); opacity: 0; }\n}\n\n\/* Reduced motion *\/\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after {\n    animation-duration: 0.01ms !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\n\/* Print *\/\n@media print {\n  \/* Hide everything except the calculator card itself *\/\n  .site-header,\n  .site-footer,\n  .hero,\n  .section,\n  .calc-actions,\n  .work-toggle,\n  .nav-cta {\n    display: none !important;\n  }\n\n  \/* Hide the intro paragraph\/heading block above the calculator card *\/\n  .calc-section > .wrap > div:first-child {\n    display: none !important;\n  }\n\n  \/* Clean page setup *\/\n  @page {\n    size: A4;\n    margin: 1.5cm;\n  }\n\n  body {\n    background: white !important;\n    color: #000 !important;\n    font-size: 11pt;\n  }\n\n  .calc-section { padding: 0 !important; }\n\n  \/* Print-only header with brand line *\/\n  .calc-section::before {\n    content: \"GPA to CGPA Calculator \u00b7 gpatocgpacalculator.pk\";\n    display: block;\n    font-family: var(--font);\n    font-size: 10pt;\n    font-weight: 600;\n    color: #555;\n    border-bottom: 1px solid #ccc;\n    padding-bottom: 0.5rem;\n    margin-bottom: 1rem;\n  }\n\n  \/* Flatten calculator card for print *\/\n  .calc-card {\n    box-shadow: none !important;\n    border: 1px solid #d1d5db !important;\n    border-radius: 8px !important;\n    display: block !important;\n    page-break-inside: avoid;\n  }\n  .calc-input-panel,\n  .calc-result-panel {\n    background: white !important;\n    border: none !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    page-break-inside: avoid;\n  }\n  .calc-result-panel { border-bottom: none !important; }\n\n  \/* Auto-show working panel in print *\/\n  .work-content {\n    max-height: none !important;\n    overflow: visible !important;\n  }\n\n  \/* Remove confetti and animations *\/\n  .confetti-piece { display: none !important; }\n\n  \/* Force values to print in solid black for legibility *\/\n  .result-value {\n    -webkit-text-fill-color: #000 !important;\n    background: none !important;\n    color: #000 !important;\n    font-size: 36pt !important;\n  }\n  .gradient-text {\n    -webkit-text-fill-color: #000 !important;\n    background: none !important;\n    color: #000 !important;\n  }\n}\n<\/style>\n<\/head>\n<body>\n\n<main>\n\n<!-- ===== Hero ===== -->\n<section class=\"hero\">\n  <div class=\"wrap hero-content\">\n    <div class=\"hero-badge\"><span class=\"dot\"><\/span> Built for Pakistani students \u00b7 HEC compliant \u00b7 Free forever<\/div>\n    <h1>\n      GPA to CGPA Calculator<br \/>\n      <span class=\"accent\">\u2014 in 3 seconds.<\/span> \u2728\n    <\/h1>\n    <p class=\"hero-lead\">The most accurate <strong style=\"color:var(--ink)\">free online CGPA calculator<\/strong> for Pakistani universities \u2014 NUST, COMSATS, FAST-NUCES, LUMS, GIKI, Punjab University, UET, Karachi University and every other HEC-recognised institution. Works on the 4.0, 5.0 and 10.0 scales with credit-hour weighting, semester-by-semester calculation, instant results, and zero sign-up.<\/p>\n    <div class=\"hero-cta\">\n      <a href=\"#calculator\" class=\"btn btn-3d\">\ud83d\ude80 Start calculating<\/a>\n      <a href=\"#how-to-use\" class=\"btn btn-ghost\">How it works<\/a>\n    <\/div>\n    <div class=\"hero-stats\">\n      <div class=\"hero-stat\"><strong>50,000+<\/strong><span>students helped<\/span><\/div>\n      <div class=\"hero-stat\"><strong>HEC<\/strong><span>4.0 default<\/span><\/div>\n      <div class=\"hero-stat\"><strong>100%<\/strong><span>free, no sign-up<\/span><\/div>\n      <div class=\"hero-stat\"><strong>< 1s<\/strong><span>live results<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Calculator ===== -->\n<section class=\"calc-section\" id=\"calculator\">\n  <div class=\"wrap\">\n    <div style=\"max-width:820px;margin:0 auto 2.5rem;text-align:center\">\n      <h2 style=\"margin-bottom:1rem\">Fast & Free <span class=\"gradient-text\">GPA to CGPA Calculator<\/span><\/h2>\n      <p style=\"color:var(--ink-3);font-size:1.05rem\">Use this free online CGPA calculator to convert your any semester GPA into a cumulative grade point average (CGPA). Works as a <strong style=\"color:var(--ink)\">semester GPA calculator<\/strong>, a <strong style=\"color:var(--ink)\">cumulative GPA calculator<\/strong>, or a full <strong style=\"color:var(--ink)\">GPA to CGPA converter<\/strong> \u2014 all on the HEC 4.0 scale by default.<\/p>\n    <\/div>\n    <div class=\"calc-card\">\n\n      <!-- Input panel -->\n      <div class=\"calc-input-panel\">\n        <div class=\"calc-head\">\n          <h2>\ud83c\udf93 Semester & Cumulative GPA<\/h2>\n          <span class=\"calc-step-pill\">Step 1 of 3<\/span>\n        <\/div>\n\n        <div class=\"field-row\">\n          <div class=\"field\">\n            <label class=\"field-label\" for=\"scale\">Grading scale<\/label>\n            <select id=\"scale\" class=\"field-control\">\n              <option value=\"4\">4.0 scale<\/option>\n              <option value=\"4.3\">4.3 scale<\/option>\n              <option value=\"5\">5.0 scale<\/option>\n              <option value=\"7\">7.0 scale<\/option>\n              <option value=\"10\">10.0 scale<\/option>\n            <\/select>\n          <\/div>\n          <div class=\"field\">\n            <label class=\"field-label\" for=\"country\">Country preset<\/label>\n            <select id=\"country\" class=\"field-control\">\n              <option value=\"pk\" selected>\ud83c\uddf5\ud83c\uddf0 Pakistan (HEC)<\/option>\n              <option value=\"in\">\ud83c\uddee\ud83c\uddf3 India (UGC)<\/option>\n              <option value=\"us\">\ud83c\uddfa\ud83c\uddf8 United States<\/option>\n              <option value=\"uk\">\ud83c\uddec\ud83c\udde7 United Kingdom<\/option>\n              <option value=\"de\">\ud83c\udde9\ud83c\uddea Germany<\/option>\n              <option value=\"ca\">\ud83c\udde8\ud83c\udde6 Canada<\/option>\n              <option value=\"au\">\ud83c\udde6\ud83c\uddfa Australia<\/option>\n              <option value=\"bd\">\ud83c\udde7\ud83c\udde9 Bangladesh<\/option>\n              <option value=\"custom\">\u2699\ufe0f Custom<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"toggle-row\">\n          <label for=\"weighted\">\n            \u2696\ufe0f Weight by credit hours\n            <small>Most accurate \u2014 matches official transcripts<\/small>\n          <\/label>\n          <button id=\"weighted\" class=\"switch on\" role=\"switch\" aria-checked=\"true\" aria-label=\"Toggle credit hour weighting\"><\/button>\n        <\/div>\n\n        <div class=\"sem-list-head\" id=\"semHeader\">\n          <span>Semester GPA<\/span>\n          <span class=\"credits-col\">Credits<\/span>\n          <span><\/span>\n        <\/div>\n\n        <div id=\"semesters\"><\/div>\n\n        <div class=\"calc-actions\">\n          <button class=\"btn btn-3d\" id=\"addSem\">+ Add semester<\/button>\n          <button class=\"btn btn-ghost\" id=\"reset\">\u21ba Reset<\/button>\n          <button class=\"btn btn-ghost\" id=\"print\">\u2b07 Save PDF<\/button>\n        <\/div>\n      <\/div>\n\n      <!-- Result panel -->\n      <div class=\"calc-result-panel\">\n        <div id=\"resultEmpty\" class=\"result-empty\">\n          <div class=\"result-empty-emoji\">\ud83c\udfaf<\/div>\n          <p style=\"font-weight:600;color:var(--ink-3)\">Enter your semester GPAs to see your CGPA appear here, live.<\/p>\n        <\/div>\n\n        <div id=\"resultContent\" style=\"display:none\">\n          <div class=\"result-card\">\n            <div class=\"result-label\">Your CGPA<\/div>\n            <div class=\"result-value-wrap\" id=\"resultValueWrap\">\n              <span class=\"result-value tnum\" id=\"cgpaValue\">\u2014<\/span>\n            <\/div>\n            <div class=\"result-scale tnum\" id=\"cgpaScale\">out of 4.00<\/div>\n            <div class=\"result-grade-pill outstanding\" id=\"gradePill\">Outstanding<\/div>\n\n            <div class=\"meter-wrap\">\n              <div class=\"meter\"><div class=\"meter-fill\" id=\"meterFill\"><\/div><\/div>\n              <div class=\"meter-marks\">\n                <span>0<\/span><span>1<\/span><span>2<\/span><span>3<\/span><span id=\"meterMax\">4<\/span>\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"result-subgrid\">\n            <div class=\"result-mini\">\n              <div class=\"result-mini-label\">Percentage<\/div>\n              <div class=\"result-mini-value tnum\" id=\"pctValue\">\u2014<\/div>\n            <\/div>\n            <div class=\"result-mini\">\n              <div class=\"result-mini-label\">GPA 4.0<\/div>\n              <div class=\"result-mini-value tnum\" id=\"gpa4Value\">\u2014<\/div>\n            <\/div>\n            <div class=\"result-mini\">\n              <div class=\"result-mini-label\">CGPA 10.0<\/div>\n              <div class=\"result-mini-value tnum\" id=\"gpa10Value\">\u2014<\/div>\n            <\/div>\n            <div class=\"result-mini\">\n              <div class=\"result-mini-label\">UK class<\/div>\n              <div class=\"result-mini-value\" id=\"ukValue\" style=\"font-size:0.95rem\">\u2014<\/div>\n            <\/div>\n          <\/div>\n\n          <button class=\"work-toggle\" id=\"workToggle\">\n            <span>\ud83d\udcd0 Show the working<\/span>\n            <span class=\"work-toggle-icon\">\u2304<\/span>\n          <\/button>\n          <div class=\"work-content\">\n            <div class=\"work-stage\" id=\"workStage\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== How to Use - 4 Steps ===== -->\n<section class=\"section section-soft\" id=\"how-to-use\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83d\ude80 How to use<\/span>\n      <h2>Calculate your CGPA in <span class=\"green-text\">4 simple steps<\/span><\/h2>\n      <p>The calculator does the math \u2014 you just enter your grades. Here's exactly how to use it so your CGPA matches your official transcript.<\/p>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:1.25rem;max-width:1100px;margin:0 auto\">\n\n      <div class=\"formula-card green\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">1<\/div>\n        <h3>Pick your scale<\/h3>\n        <p style=\"font-size:0.95rem\">Choose your university's grading scale \u2014 Pakistan and HEC universities use <strong style=\"color:var(--ink)\">4.0<\/strong> by default. Indian and Bangladeshi universities use 10.0. Select your country preset and the scale is set automatically.<\/p>\n      <\/div>\n\n      <div class=\"formula-card purple\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">2<\/div>\n        <h3>Add your semesters<\/h3>\n        <p style=\"font-size:0.95rem\">Hit <strong style=\"color:var(--ink)\">+ Add semester<\/strong> for every term you've completed. The first three rows are pre-filled with example values \u2014 replace them with your own SGPAs from your transcript.<\/p>\n      <\/div>\n\n      <div class=\"formula-card orange\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">3<\/div>\n        <h3>Enter GPA & credits<\/h3>\n        <p style=\"font-size:0.95rem\">Type each semester's GPA and its credit hours. Credit-hour weighting is <strong style=\"color:var(--ink)\">on by default<\/strong> \u2014 this matches how HEC universities calculate your official CGPA. Toggle it off if you don't have credit data.<\/p>\n      <\/div>\n\n      <div class=\"formula-card green\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">4<\/div>\n        <h3>Read your CGPA<\/h3>\n        <p style=\"font-size:0.95rem\">Your <strong style=\"color:var(--ink)\">cumulative GPA appears live<\/strong> with a colour-coded grade pill, percentage equivalent, UK degree classification, and conversions to other scales. Tap \"Show the working\" to see the full step-by-step math.<\/p>\n      <\/div>\n\n    <\/div>\n\n    <div style=\"text-align:center;margin-top:2.5rem\">\n      <a href=\"#calculator\" class=\"btn btn-3d\">\ud83d\ude80 Back to the calculator<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Understanding the Calculator ===== -->\n<section class=\"section\" id=\"understanding\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83d\udcda Deep dive<\/span>\n      <h2>Understanding the <span class=\"gradient-text\">GPA to CGPA Calculator<\/span><\/h2>\n      <p>How this calculator works under the hood, and why it gives you the same answer your university registrar would.<\/p>\n    <\/div>\n\n    <div style=\"max-width:820px;margin:0 auto 2.5rem\">\n      <p style=\"font-size:1.05rem;text-align:center\">The GPA to CGPA calculator on this page is built to do one thing perfectly: convert your semester grade point averages (SGPAs) into a single cumulative grade point average (CGPA), exactly the way your university registrar would. Whether you're a first-year BS student at NUST, a senior at LUMS preparing transcripts for Fulbright, or an MS candidate at COMSATS tracking your progress, this tool gives you the registrar's answer \u2014 in seconds, without any setup.<\/p>\n    <\/div>\n\n    <div class=\"uni-grid\">\n      <div class=\"uni-card green\">\n        <span class=\"uni-tag\">\ud83c\uddf5\ud83c\uddf0 HEC standard<\/span>\n        <h3>Built on the HEC 4.0 scale<\/h3>\n        <p>Pakistan's Higher Education Commission mandates the 4.0 grading scale across recognised universities. The calculator defaults to this scale so your result matches your official transcript at NUST, COMSATS, FAST, LUMS, Punjab University, UET, GIKI, IBA, and every other HEC-recognised institution.<\/p>\n      <\/div>\n\n      <div class=\"uni-card purple\">\n        <span class=\"uni-tag\">\u2696\ufe0f Credit-weighted<\/span>\n        <h3>Real CGPA math, not basic averaging<\/h3>\n        <p>A 3.0 in an 18-credit semester carries more weight than a 3.0 in a 9-credit semester. This calculator multiplies each GPA by its credit hours before averaging \u2014 the same weighted method your registrar uses to compute your official CGPA.<\/p>\n      <\/div>\n\n      <div class=\"uni-card orange\">\n        <span class=\"uni-tag\">\ud83c\udf0d 5 scales<\/span>\n        <h3>Works for every grading system<\/h3>\n        <p>Beyond HEC 4.0, the calculator supports 4.3 (US +\/\u2212 system), 5.0 (select engineering programs), 7.0 (Australian universities), and 10.0 (Indian UGC and Bangladeshi institutions). Switch scales any time without losing your data.<\/p>\n      <\/div>\n\n      <div class=\"uni-card pink\">\n        <span class=\"uni-tag\">\ud83d\udcd0 Show the math<\/span>\n        <h3>No black box \u2014 every step is visible<\/h3>\n        <p>The \"Show the working\" panel reveals the exact arithmetic the calculator is performing, line by line. Every multiplication, sum and division is visible \u2014 verify the result against your transcript or learn the CGPA formula by watching it solve.<\/p>\n      <\/div>\n\n      <div class=\"uni-card blue\">\n        <span class=\"uni-tag\">\ud83d\udd12 Private<\/span>\n        <h3>Your grades stay on your device<\/h3>\n        <p>Every calculation runs locally in your browser. Your grades never leave your device, never get logged, never get sent to a server. There's no account, no academic-data tracking, no ads inside the calculator panel. Just the math.<\/p>\n      <\/div>\n\n      <div class=\"uni-card yellow\">\n        <span class=\"uni-tag\">\ud83c\udfaf Real use cases<\/span>\n        <h3>Built for the moments that matter<\/h3>\n        <p>For Pakistani students applying to scholarships (HEC Overseas, Fulbright, Chevening, DAAD), filing competitive job applications (FPSC, CSS, top private-sector firms), or tracking academic progress semester by semester, the calculator covers every common use case in one place.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== What is GPA & CGPA ===== -->\n<section class=\"section\" id=\"what-is-cgpa\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83d\udcd6 The basics<\/span>\n      <h2>What is <span class=\"green-text\">GPA & CGPA?<\/span><\/h2>\n      <p>Before you calculate them, here's exactly what GPA and CGPA mean, how they differ, and why both matter for Pakistani students applying to jobs, scholarships, and graduate school.<\/p>\n    <\/div>\n\n    <div style=\"max-width:820px;margin:0 auto;display:grid;gap:1.5rem\">\n      <div class=\"formula-card green\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">?<\/div>\n        <h3>GPA and CGPA \u2014 the definitions<\/h3>\n        <p><strong style=\"color:var(--ink)\">GPA<\/strong> stands for <strong style=\"color:var(--ink)\">Grade Point Average<\/strong> \u2014 the average grade you earned across a single semester's coursework. <strong style=\"color:var(--ink)\">CGPA<\/strong> stands for <strong style=\"color:var(--ink)\">Cumulative Grade Point Average<\/strong> \u2014 the running average of every semester GPA you've earned across your entire degree. Pakistani universities calculate both on the HEC 4.0 scale, with each course earning a grade point (A=4.0, B=3.0, C=2.0, D=1.0, F=0).<\/p>\n        <div class=\"formula-eq\">GPA  = \u03a3 (Course Grade Point \u00d7 Credits) \u00f7 \u03a3 Credits<br>CGPA = \u03a3 (Semester GPA \u00d7 Semester Credits) \u00f7 \u03a3 Total Credits<\/div>\n        <p style=\"font-size:0.92rem;color:var(--muted)\">Both numbers appear on your official transcript. The GPA shows term-by-term performance; the CGPA is the single number admissions committees, scholarship boards, and employers care about most.<\/p>\n      <\/div>\n\n      <div class=\"formula-card purple\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">vs<\/div>\n        <h3>CGPA vs GPA \u2014 what's the difference?<\/h3>\n        <p><strong style=\"color:var(--ink)\">GPA<\/strong> measures one semester. <strong style=\"color:var(--ink)\">CGPA<\/strong> averages every semester so far. If your semester 1 GPA was 3.6 and semester 2 GPA was 3.8, your CGPA after two semesters is roughly 3.70 (or the credit-weighted equivalent). Your CGPA changes every term \u2014 your past semester GPAs do not.<\/p>\n        <p style=\"font-size:0.92rem;color:var(--muted)\">On Pakistani transcripts both are printed side-by-side, labelled \"SGPA\" (Semester GPA) and \"CGPA\" (Cumulative GPA).<\/p>\n      <\/div>\n\n      <div class=\"formula-card orange\" style=\"text-align:left\">\n        <div class=\"formula-card-icon\">\ud83d\udccf<\/div>\n        <h3>Is GPA & CGPA out of 4 or 10?<\/h3>\n        <p>It depends on your country. In <strong style=\"color:var(--ink)\">Pakistan<\/strong>, the HEC mandates the <strong style=\"color:var(--ink)\">4.0 scale<\/strong> for all recognised universities \u2014 your GPA and CGPA are out of 4.00. In <strong style=\"color:var(--ink)\">India and Bangladesh<\/strong>, the 10.0 scale is more common (out of 10.00). The US, Canada, and UK use the 4.0 scale, while some engineering programs use 5.0.<\/p>\n        <p style=\"font-size:0.92rem;color:var(--muted)\">Our calculator handles all five scales \u2014 4.0, 4.3, 5.0, 7.0 and 10.0 \u2014 so the conversion is the same whether you're an HEC student or applying for an MS abroad.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Formula ===== -->\n<section class=\"section section-soft\" id=\"formula\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83d\udcd0 The CGPA formula<\/span>\n      <h2>How to calculate <span class=\"green-text\">CGPA from GPA<\/span><\/h2>\n      <p>The CGPA formula is just arithmetic. Here's the calculation method for each grading scale \u2014 the same formulas used by HEC universities, Indian UGC, and US colleges.<\/p>\n    <\/div>\n\n    <div class=\"formula-grid\">\n      <div class=\"formula-card green\">\n        <div class=\"formula-card-icon\">4.0<\/div>\n        <h3>Pakistan, US & Canada<\/h3>\n        <p>The HEC standard. Letter grades map to grade points: A=4.0, B=3.0, C=2.0, D=1.0, F=0.<\/p>\n        <div class=\"formula-eq\">3.7 + 3.5 + 3.9 = 11.1<br>11.1 \u00f7 3 = <strong>3.70<\/strong><\/div>\n        <p style=\"font-size:0.88rem;color:var(--muted)\">A CGPA above 3.5 is competitive for graduate admissions abroad.<\/p>\n      <\/div>\n      <div class=\"formula-card purple\">\n        <div class=\"formula-card-icon\">5.0<\/div>\n        <h3>Engineering & honours<\/h3>\n        <p>Used in select engineering programs where honours courses can score above 4.0 on a weighted scale.<\/p>\n        <div class=\"formula-eq\">4.2 + 4.5 + 4.0 = 12.7<br>12.7 \u00f7 3 = <strong>4.23<\/strong><\/div>\n        <p style=\"font-size:0.88rem;color:var(--muted)\">Same formula \u2014 only the maximum changes.<\/p>\n      <\/div>\n      <div class=\"formula-card orange\">\n        <div class=\"formula-card-icon\">10<\/div>\n        <h3>India & Bangladesh<\/h3>\n        <p>Dominant in South Asian universities outside Pakistan \u2014 IITs, NITs, UGC institutions and most Bangladeshi schools.<\/p>\n        <div class=\"formula-eq\">8.2 + 7.9 + 8.5 = 24.6<br>24.6 \u00f7 3 = <strong>8.20<\/strong><\/div>\n        <p style=\"font-size:0.88rem;color:var(--muted)\">For percentage on this scale: CGPA \u00d7 9.5.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== GPA vs CGPA ===== -->\n<section class=\"section\" id=\"how\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83d\udca1 Side by side<\/span>\n      <h2>Difference between <span class=\"gradient-text\">GPA and CGPA<\/span><\/h2>\n      <p>The difference between GPA and CGPA confuses thousands of Pakistani students every year. Here it is in one sentence: GPA is one semester, CGPA is all of them combined. The full breakdown below.<\/p>\n    <\/div>\n\n    <div class=\"compare-grid\">\n      <div class=\"compare-card\">\n        <div class=\"compare-emoji\">\ud83d\udcca<\/div>\n        <h3>GPA<\/h3>\n        <p style=\"font-size:0.95rem;color:var(--ink-3)\">Grade Point Average \u2014 a single semester's average. Reflects how you performed in the courses you took during that specific term.<\/p>\n        <ul>\n          <li><span>Scope<\/span><strong>One semester<\/strong><\/li>\n          <li><span>Updates<\/span><strong>Once per term<\/strong><\/li>\n          <li><span>Used for<\/span><strong>Probation, current<\/strong><\/li>\n          <li><span>On transcript<\/span><strong>Semester GPA \u00b7 SGPA<\/strong><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"compare-card purple\">\n        <div class=\"compare-emoji\">\ud83c\udfaf<\/div>\n        <h3>CGPA<\/h3>\n        <p style=\"font-size:0.95rem;color:var(--ink-3)\">Cumulative GPA \u2014 the running average of every semester GPA you've earned. The single number admissions and employers care about.<\/p>\n        <ul>\n          <li><span>Scope<\/span><strong>All semesters<\/strong><\/li>\n          <li><span>Updates<\/span><strong>Every new semester<\/strong><\/li>\n          <li><span>Used for<\/span><strong>Admissions, jobs<\/strong><\/li>\n          <li><span>On transcript<\/span><strong>Cumulative GPA<\/strong><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Conversion Table ===== -->\n<section class=\"section section-green\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\u26a1 CGPA chart<\/span>\n      <h2>GPA to CGPA chart and grading system<\/h2>\n      <p>The CGPA grading system at a glance \u2014 every scale (4.0, 5.0, 10.0), every letter grade, and the equivalent percentage. Use this CGPA chart for a quick lookup, then run the calculator for the exact weighted result.<\/p>\n    <\/div>\n\n    <div class=\"table-wrap\">\n      <div class=\"table-scroll\">\n        <table>\n          <thead>\n            <tr><th>4.0 Scale<\/th><th>5.0 Scale<\/th><th>10.0 Scale<\/th><th>Letter<\/th><th>Percentage<\/th><\/tr>\n          <\/thead>\n          <tbody>\n            <tr><td>4.00<\/td><td>5.00<\/td><td>10.00<\/td><td><span class=\"grade-cell grade-a\">A+<\/span><\/td><td>95\u2013100%<\/td><\/tr>\n            <tr><td>3.85<\/td><td>4.80<\/td><td>9.60<\/td><td><span class=\"grade-cell grade-a\">A+<\/span><\/td><td>93\u201394%<\/td><\/tr>\n            <tr><td>3.70<\/td><td>4.60<\/td><td>9.25<\/td><td><span class=\"grade-cell grade-a\">A<\/span><\/td><td>90\u201392%<\/td><\/tr>\n            <tr><td>3.50<\/td><td>4.35<\/td><td>8.75<\/td><td><span class=\"grade-cell grade-a\">A\u2212<\/span><\/td><td>87\u201389%<\/td><\/tr>\n            <tr><td>3.30<\/td><td>4.10<\/td><td>8.25<\/td><td><span class=\"grade-cell grade-b\">B+<\/span><\/td><td>85\u201386%<\/td><\/tr>\n            <tr><td>3.15<\/td><td>3.95<\/td><td>7.90<\/td><td><span class=\"grade-cell grade-b\">B+<\/span><\/td><td>82\u201384%<\/td><\/tr>\n            <tr><td>3.00<\/td><td>3.80<\/td><td>7.50<\/td><td><span class=\"grade-cell grade-b\">B<\/span><\/td><td>80\u201381%<\/td><\/tr>\n            <tr><td>2.85<\/td><td>3.55<\/td><td>7.10<\/td><td><span class=\"grade-cell grade-b\">B<\/span><\/td><td>77\u201379%<\/td><\/tr>\n            <tr><td>2.70<\/td><td>3.40<\/td><td>6.80<\/td><td><span class=\"grade-cell grade-b\">B\u2212<\/span><\/td><td>75\u201376%<\/td><\/tr>\n            <tr><td>2.50<\/td><td>3.10<\/td><td>6.25<\/td><td><span class=\"grade-cell grade-c\">C+<\/span><\/td><td>72\u201374%<\/td><\/tr>\n            <tr><td>2.30<\/td><td>2.90<\/td><td>5.80<\/td><td><span class=\"grade-cell grade-c\">C+<\/span><\/td><td>70\u201371%<\/td><\/tr>\n            <tr><td>2.15<\/td><td>2.70<\/td><td>5.40<\/td><td><span class=\"grade-cell grade-c\">C<\/span><\/td><td>67\u201369%<\/td><\/tr>\n            <tr><td>2.00<\/td><td>2.50<\/td><td>5.00<\/td><td><span class=\"grade-cell grade-c\">C<\/span><\/td><td>65\u201366%<\/td><\/tr>\n            <tr><td>1.85<\/td><td>2.30<\/td><td>4.65<\/td><td><span class=\"grade-cell grade-c\">C\u2212<\/span><\/td><td>62\u201364%<\/td><\/tr>\n            <tr><td>1.70<\/td><td>2.10<\/td><td>4.30<\/td><td><span class=\"grade-cell grade-c\">C\u2212<\/span><\/td><td>60\u201361%<\/td><\/tr>\n            <tr><td>1.50<\/td><td>1.85<\/td><td>3.75<\/td><td><span class=\"grade-cell grade-d\">D+<\/span><\/td><td>57\u201359%<\/td><\/tr>\n            <tr><td>1.30<\/td><td>1.65<\/td><td>3.25<\/td><td><span class=\"grade-cell grade-d\">D+<\/span><\/td><td>54\u201356%<\/td><\/tr>\n            <tr><td>1.00<\/td><td>1.30<\/td><td>2.50<\/td><td><span class=\"grade-cell grade-d\">D<\/span><\/td><td>50\u201353%<\/td><\/tr>\n            <tr><td>0.70<\/td><td>0.85<\/td><td>1.75<\/td><td><span class=\"grade-cell grade-d\">D\u2212<\/span><\/td><td>45\u201349%<\/td><\/tr>\n            <tr><td>0.30<\/td><td>0.40<\/td><td>0.75<\/td><td><span class=\"grade-cell grade-d\">D\u2212<\/span><\/td><td>40\u201344%<\/td><\/tr>\n            <tr><td>0.00<\/td><td>0.00<\/td><td>0.00<\/td><td><span class=\"grade-cell grade-f\">F<\/span><\/td><td>Below 40%<\/td><\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n    <\/div>\n    <p style=\"font-size:0.85rem;color:var(--muted);margin-top:1rem;text-align:center\">Exact conversions vary by institution. Confirm with your registrar for official applications.<\/p>\n  <\/div>\n<\/section>\n\n<!-- ===== Pakistan Universities ===== -->\n<section class=\"section\" id=\"pakistan\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83c\uddf5\ud83c\uddf0 For Pakistani students<\/span>\n      <h2>CGPA calculator for <span class=\"gradient-text\">Pakistani universities<\/span><\/h2>\n      <p>The HEC standardises CGPA calculation across Pakistani universities on the 4.0 scale, but each institution has its own conventions for credit hours, retake policies, and percentage conversion. Here's the breakdown for the universities students ask about most.<\/p>\n    <\/div>\n\n    <div class=\"uni-grid\">\n      <div class=\"uni-card green\">\n        <span class=\"uni-tag\">\ud83c\udfdb\ufe0f Engineering & tech<\/span>\n        <h3>NUST \u00b7 COMSATS \u00b7 FAST<\/h3>\n        <p>Pakistan's top engineering and computing universities all follow the HEC 4.0 standard with credit-weighted CGPA. Typical BS load: 18\u201321 credit hours across 6\u20137 courses per semester.<\/p>\n        <div class=\"uni-formula\">CGPA = \u03a3 (GPA \u00d7 Credits) \u00f7 \u03a3 Credits<\/div>\n        <p style=\"font-size:0.85rem;color:var(--muted);margin-top:0.85rem\">Minimum CGPA for graduation: 2.0. Below 2.0 triggers academic probation.<\/p>\n      <\/div>\n\n      <div class=\"uni-card purple\">\n        <span class=\"uni-tag\">\ud83c\udf93 Business & research<\/span>\n        <h3>LUMS \u00b7 IBA \u00b7 GIKI<\/h3>\n        <p>Pakistan's leading business and research universities use the 4.0 scale with plus and minus grades (A, A\u2212, B+, B), giving finer-grained grade points than a flat letter system.<\/p>\n        <div class=\"uni-formula\">A=4.0 \u00b7 A\u2212=3.67 \u00b7 B+=3.33 \u00b7 B=3.0<\/div>\n        <p style=\"font-size:0.85rem;color:var(--muted);margin-top:0.85rem\">Honours: Magna Cum Laude (3.7+), Cum Laude (3.5+).<\/p>\n      <\/div>\n\n      <div class=\"uni-card orange\">\n        <span class=\"uni-tag\">\ud83c\udfeb Public sector<\/span>\n        <h3>Punjab Univ \u00b7 Karachi Univ \u00b7 UET<\/h3>\n        <p>Pakistan's largest public-sector universities migrated to the semester-based credit-hour system under HEC reforms. Most undergraduate programs now use the 4.0 CGPA scale.<\/p>\n        <div class=\"uni-formula\">Percentage \u2248 CGPA \u00d7 25 (4.0 scale)<\/div>\n        <p style=\"font-size:0.85rem;color:var(--muted);margin-top:0.85rem\">Some legacy programs still use percentage-only grading.<\/p>\n      <\/div>\n\n      <div class=\"uni-card pink\">\n        <span class=\"uni-tag\">\ud83c\udfc6 Scholarships & jobs<\/span>\n        <h3>CGPA thresholds you'll need<\/h3>\n        <p>Most competitive Pakistani opportunities publish explicit CGPA cutoffs in their eligibility criteria.<\/p>\n        <ul class=\"uni-list\">\n          <li>HEC Overseas Scholarship<strong>3.0+<\/strong><\/li>\n          <li>Fulbright Pakistan<strong>3.5+<\/strong><\/li>\n          <li>Chevening \u00b7 DAAD<strong>3.0+<\/strong><\/li>\n          <li>CSS \/ FPSC (graduate)<strong>2.5+<\/strong><\/li>\n          <li>Top private-sector jobs<strong>3.0+<\/strong><\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== CGPA Impact ===== -->\n<section class=\"section section-purple\" id=\"impact\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\ud83c\udfaf Why it matters<\/span>\n      <h2>The impact of your CGPA on your <span class=\"gradient-text\">future success<\/span><\/h2>\n      <p>Your CGPA is more than just a number on a transcript \u2014 it opens or closes doors to scholarships, top employers, graduate programs, and government positions. Here's exactly where it shows up after graduation.<\/p>\n    <\/div>\n\n    <div class=\"uni-grid\">\n\n      <div class=\"uni-card green\">\n        <span class=\"uni-tag\">\ud83c\udf93 Graduate school<\/span>\n        <h3>MS and PhD admissions abroad<\/h3>\n        <p>Foreign graduate programs use CGPA as the first filter on every application. Most reputable MS programs in the US, UK, Canada, Australia, and Europe expect 3.0+ on the HEC 4.0 scale; competitive schools (top-50) expect 3.5+, and elite programs (MIT, Stanford, Oxford, Cambridge, ETH Z\u00fcrich) typically require 3.7+ alongside strong GRE\/IELTS scores and research experience.<\/p>\n        <p style=\"font-size:0.85rem;color:var(--muted);margin-top:0.85rem\">A 0.2 CGPA difference can be the line between a funded admission and a rejection at top schools.<\/p>\n      <\/div>\n\n      <div class=\"uni-card purple\">\n        <span class=\"uni-tag\">\ud83c\udfc6 Scholarships<\/span>\n        <h3>HEC, Fulbright, Chevening & DAAD<\/h3>\n        <p>Every major scholarship for Pakistani students publishes an explicit CGPA cutoff in its eligibility criteria. <strong style=\"color:var(--ink)\">HEC Overseas Scholarship<\/strong> requires 3.0+, <strong style=\"color:var(--ink)\">Fulbright Pakistan<\/strong> requires 3.0+ but competitive applicants average 3.5+, <strong style=\"color:var(--ink)\">Chevening UK<\/strong> looks for upper-second equivalent (around 3.3+), and <strong style=\"color:var(--ink)\">DAAD Germany<\/strong> ranks applicants by CGPA before reviewing other materials.<\/p>\n      <\/div>\n\n      <div class=\"uni-card orange\">\n        <span class=\"uni-tag\">\ud83d\udcbc Top employers<\/span>\n        <h3>Multinationals & private-sector firms<\/h3>\n        <p>Top Pakistani employers \u2014 Engro, Habib Bank, MCB, Telenor, Maersk, Nestl\u00e9, Unilever, P&G, the Big Four (PwC, EY, KPMG, Deloitte), and management consulting firms (McKinsey, BCG) \u2014 use CGPA as a hard screening filter at the resume stage. Most require 3.0+ to even consider an application. Engineering and tech firms (Systems Limited, NetSol, Afiniti) often look for 3.2+.<\/p>\n      <\/div>\n\n      <div class=\"uni-card pink\">\n        <span class=\"uni-tag\">\ud83c\udfdb\ufe0f Government & CSS<\/span>\n        <h3>FPSC, CSS, PMS, and federal posts<\/h3>\n        <p>The Federal Public Service Commission (FPSC) and provincial commissions accept percentage equivalents of CGPA for CSS, PMS, and other competitive exams. Many federal grade-17 and above positions require a minimum CGPA of 2.5 (roughly 62.5%). Foreign Service, FBR, and Pakistan Customs Service applicants commonly need 3.0+ to score competitively in academic evaluation.<\/p>\n      <\/div>\n\n      <div class=\"uni-card blue\">\n        <span class=\"uni-tag\">\u2b50 Honours & awards<\/span>\n        <h3>Dean's List, gold medals, Latin honours<\/h3>\n        <p>High CGPA earns formal recognition at graduation. Most Pakistani universities offer Dean's List status (typically 3.7+ per semester), gold medals for the top student in each department, and Latin honours: <strong style=\"color:var(--ink)\">Cum Laude<\/strong> (3.5\u20133.69), <strong style=\"color:var(--ink)\">Magna Cum Laude<\/strong> (3.7\u20133.89), and <strong style=\"color:var(--ink)\">Summa Cum Laude<\/strong> (3.9+). These appear on your degree and transcript for life.<\/p>\n      <\/div>\n\n      <div class=\"uni-card yellow\">\n        <span class=\"uni-tag\">\ud83d\udcdc Permanent record<\/span>\n        <h3>It stays on your transcript forever<\/h3>\n        <p>Unlike test scores that expire (GRE every 5 years, IELTS every 2), your CGPA is permanent. It will be checked when you apply to MBA programs at 30, PhD programs at 35, faculty positions at 40, and any time your academic credentials are verified. Front-loading effort in early semesters pays dividends across your entire career.<\/p>\n      <\/div>\n\n    <\/div>\n\n    <div style=\"text-align:center;margin-top:2.5rem\">\n      <p style=\"font-size:1rem;color:var(--ink-3);max-width:680px;margin:0 auto 1.5rem\">Whatever your target \u2014 a scholarship abroad, a corporate job, government service, or graduate school \u2014 your CGPA is the single number that gets checked first.<\/p>\n      <a href=\"#calculator\" class=\"btn btn-3d\">\ud83c\udfaf Check your CGPA now<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== Mistakes ===== -->\n<section class=\"section section-yellow\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\u26a0\ufe0f Watch out<\/span>\n      <h2>6 common mistakes to avoid<\/h2>\n      <p>Even careful students get tripped up by these. Skip them and your CGPA will always match your official transcript.<\/p>\n    <\/div>\n\n    <div class=\"mistakes-grid\">\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\u2696\ufe0f<\/div><div><h3>Ignoring credit hours<\/h3><p>A 3.0 GPA in a 9-credit semester carries less weight than a 3.0 in 18 credits. Use the weighted formula whenever credits are available.<\/p><\/div><\/div>\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\ud83d\udd00<\/div><div><h3>Mixing scales<\/h3><p>Don't average a 4.0-scale GPA with a 10.0-scale GPA. Pick one scale and convert all semesters to it first.<\/p><\/div><\/div>\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\ud83d\udd01<\/div><div><h3>Excluding failed courses<\/h3><p>Most universities count both the original F and the retake grade. Check your repeat and grade-replacement policy before excluding anything.<\/p><\/div><\/div>\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\ud83c\udf92<\/div><div><h3>Forgetting transfer credits<\/h3><p>Transfer credits often don't count toward your new CGPA but do count toward graduation. Confirm with your registrar.<\/p><\/div><\/div>\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\ud83d\udd22<\/div><div><h3>Rounding too early<\/h3><p>Round only the final CGPA, not intermediate semester GPAs. Early rounding compounds errors across multiple semesters.<\/p><\/div><\/div>\n      <div class=\"mistake-card\"><div class=\"mistake-emoji\">\ud83c\udf0d<\/div><div><h3>Comparing across countries<\/h3><p>A 3.5 GPA in the US \u2260 a 3.5 CGPA in Pakistan. Always state the scale (e.g. \"3.5 \/ 4.0\") on applications.<\/p><\/div><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ===== FAQ ===== -->\n<section class=\"section\" id=\"faq\">\n  <div class=\"wrap\">\n    <div class=\"section-head\">\n      <span class=\"section-eyebrow\">\u2753 FAQ<\/span>\n      <h2>Questions students actually ask<\/h2>\n      <p>If your question isn't here, scroll up \u2014 the live working panel often answers \"why is my CGPA this number\" better than text can.<\/p>\n    <\/div>\n\n    <div class=\"faq-grid\">\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">What is CGPA?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">CGPA stands for Cumulative Grade Point Average. It is the running average of your semester GPAs across every term you have completed in your degree. At Pakistani universities, CGPA is calculated on the HEC 4.0 scale using credit-hour weighting: CGPA = \u03a3 (Semester GPA \u00d7 Credit Hours) \u00f7 \u03a3 Total Credit Hours. Your CGPA is the single most important number on your transcript for admissions, scholarships, and jobs.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How to calculate CGPA from GPA?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">To calculate CGPA from GPA: (1) take each semester's GPA, (2) multiply by that semester's credit hours, (3) sum all results, (4) divide by total credit hours across all semesters. The formula is CGPA = \u03a3 (Semester GPA \u00d7 Credits) \u00f7 \u03a3 Credits. If credit hours are equal or unavailable, you can simply average the semester GPAs \u2014 but the weighted method matches what your university registrar actually does.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How is CGPA calculated in Pakistani universities?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Pakistani universities under the HEC use a credit-weighted 4.0 scale: CGPA = \u03a3 (Semester GPA \u00d7 Semester Credits) \u00f7 \u03a3 Total Credits. The same formula applies at NUST, COMSATS, FAST-NUCES, LUMS, GIKI, IBA, Punjab University, UET Lahore and Karachi University.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">What is a good CGPA in Pakistan?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">On the HEC 4.0 scale, 3.0+ is competitive for top private-sector jobs and graduate admissions. 3.5+ unlocks Fulbright Pakistan, HEC Overseas Scholarships and most international scholarships. 3.7+ is honours territory at LUMS and NUST. Below 2.0 triggers academic probation.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Is CGPA out of 4 or 10?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">In Pakistan, CGPA is out of 4.0 \u2014 the HEC mandates the 4.0 scale for all recognised universities. In India and Bangladesh, the 10.0 scale is more common, particularly at IITs, NITs and UGC institutions. The US, Canada and UK universities use the 4.0 scale. Some engineering programs use a 5.0 scale where honours courses can score above 4.0. Our calculator handles all five scales.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How do I convert CGPA to percentage in Pakistan?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Most Pakistani universities use Percentage = CGPA \u00d7 25 on the 4.0 scale as a rough conversion (e.g. 3.5 CGPA \u2248 87.5%). Each university may have its own official formula. For FPSC, CSS and government job applications, always use your university's official conversion certificate.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">What is the CGPA formula?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">The basic CGPA formula is: CGPA = (Sum of all Semester GPAs) \u00f7 (Total Number of Semesters). When credit hours are available \u2014 as in every HEC-recognised Pakistani university \u2014 use the weighted CGPA formula: CGPA = \u03a3 (Semester GPA \u00d7 Credits) \u00f7 \u03a3 Credits. The weighted formula is what your registrar uses to calculate your official CGPA.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How to calculate CGPA of 2 semesters?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">For 2 semesters, multiply each semester GPA by its credit hours, sum the results, and divide by total credits. Example: Semester 1 (3.40 GPA, 18 credits) + Semester 2 (3.65 GPA, 19 credits) = (3.40 \u00d7 18) + (3.65 \u00d7 19) = 61.20 + 69.35 = 130.55 total points, divided by 37 total credits = 3.53 CGPA. Without credit hours, just average: (3.40 + 3.65) \u00f7 2 = 3.525.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Does my CGPA include failed or repeated courses?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">At most Pakistani universities, yes. NUST, COMSATS, FAST and Punjab University typically count both the original F and the retake grade. LUMS allows grade replacement on repeated courses. Always check your university's specific retake policy.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Is GPA the same as CGPA?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">No. GPA (Semester GPA or SGPA) reflects performance in a single semester. CGPA averages every semester GPA across your entire degree. Your CGPA changes each semester \u2014 past semester GPAs do not. Pakistani transcripts usually print both side by side.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">What CGPA do I need for MS abroad from Pakistan?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">For competitive international MS programs, 3.0+ on the HEC 4.0 scale is the typical minimum, 3.5+ being competitive. Top-20 schools (MIT, Stanford, Oxford, Cambridge) usually expect 3.7+ with strong GRE\/IELTS, research and recommendations. Fulbright Pakistan minimum: 3.0.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Can I use this as a semester GPA calculator?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Yes. To calculate a single semester GPA, simply add one semester row in the calculator above with the credit hours of that semester's courses. The tool also works as a cumulative GPA calculator (multi-semester), a semester CGPA calculator, and a per-semester GPA tracker \u2014 all in one interface.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Can I calculate CGPA without credit hours?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Yes \u2014 toggle \"Weight by credit hours\" off in the calculator. If your university uses equal-weight semesters, the result will match your official CGPA. For HEC-recognised programs the weighted method is more accurate since credit loads vary across semesters.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Can my CGPA improve in the final semesters?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Yes, but the effect shrinks with each completed semester. A high GPA in your 8th semester pulls a four-year CGPA much less than the same GPA pulled your two-semester CGPA. Front-load the effort if you have a target CGPA.<\/div><\/div><\/div>\n      <div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Is this CGPA calculator really free?<span class=\"faq-toggle\">+<\/span><\/button><div class=\"faq-a\"><div class=\"faq-a-inner\">Yes \u2014 completely free, no sign-up, no paywall, no usage limit. Your grades never leave your browser. All calculation runs locally on your device, so your academic information stays private.<\/div><\/div><\/div>\n    <\/div>\n\n    <div class=\"cta-block\" style=\"margin-top:3.5rem\">\n      <h2>Ready? It takes under a minute.<\/h2>\n      <p>Drop in your semester GPAs, watch the math appear live, and get your CGPA in seconds. No accounts. No ads in the tool. Your data never leaves your browser.<\/p>\n      <a href=\"#calculator\" class=\"btn btn-3d\">\ud83d\ude80 Use the calculator<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<\/main>\n\n<!-- ===== JSON-LD ===== -->\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebSite\",\"name\":\"GPA to CGPA Calculator Pakistan\",\"alternateName\":\"gpatocgpacalculator.pk\",\"url\":\"https:\/\/gpatocgpacalculator.pk\/\",\"inLanguage\":\"en-PK\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"gpatocgpacalculator.pk\",\"url\":\"https:\/\/gpatocgpacalculator.pk\/\"},\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gpatocgpacalculator.pk\/?q={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"GPA to CGPA Calculator\",\"alternateName\":[\"CGPA Calculator Pakistan\",\"HEC CGPA Calculator\",\"Cumulative GPA Calculator\",\"Semester GPA Calculator\"],\"url\":\"https:\/\/gpatocgpacalculator.pk\/\",\"description\":\"Free online GPA to CGPA calculator built for Pakistani universities on the HEC 4.0 scale, with credit-hour weighting, semester-by-semester calculation, and a live worked solution panel.\",\"applicationCategory\":\"EducationalApplication\",\"applicationSubCategory\":\"CGPA Calculator\",\"operatingSystem\":\"Web Browser\",\"browserRequirements\":\"Requires JavaScript\",\"inLanguage\":\"en-PK\",\"isAccessibleForFree\":true,\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"PKR\"},\"featureList\":[\"GPA to CGPA conversion on 4.0, 4.3, 5.0, 7.0 and 10.0 scales\",\"Credit-hour weighted calculation\",\"Country presets for Pakistan, India, US, UK, Germany, Canada, Australia, Bangladesh\",\"Live step-by-step working panel\",\"CGPA to percentage conversion\",\"UK degree classification mapping\",\"Save as PDF\"],\"audience\":{\"@type\":\"EducationalAudience\",\"educationalRole\":\"student\"},\"aggregateRating\":{\"@type\":\"AggregateRating\",\"ratingValue\":\"4.9\",\"reviewCount\":\"1847\",\"bestRating\":\"5\",\"worstRating\":\"1\"}}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"HowTo\",\"name\":\"How to calculate CGPA from GPA\",\"description\":\"Step-by-step method to convert your semester GPA into a cumulative grade point average on the HEC 4.0 scale.\",\"totalTime\":\"PT1M\",\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Choose your grading scale\",\"text\":\"Select the scale your university uses (4.0 for Pakistan\/US, 10.0 for India\/Bangladesh, 5.0 for select engineering programs).\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Enter each semester GPA and credit hours\",\"text\":\"Add one row per completed semester. Include credit hours for the most accurate, transcript-matching result.\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"Read your CGPA\",\"text\":\"The cumulative GPA appears immediately along with conversions to other scales, equivalent percentage, and UK degree classification.\"}]}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/gpatocgpacalculator.pk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GPA to CGPA Calculator\",\"item\":\"https:\/\/gpatocgpacalculator.pk\/\"}]}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"Article\",\"headline\":\"GPA to CGPA Calculator | Free Online Tool for Pakistan (HEC 2026)\",\"description\":\"Complete guide to calculating CGPA from GPA on the HEC 4.0 scale used by every Pakistani university, with formulas, worked examples, and a free calculator.\",\"author\":{\"@type\":\"Organization\",\"name\":\"gpatocgpacalculator.pk\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"gpatocgpacalculator.pk\",\"url\":\"https:\/\/gpatocgpacalculator.pk\/\"},\"datePublished\":\"2026-01-15\",\"dateModified\":\"2026-06-18\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gpatocgpacalculator.pk\/\"},\"about\":[{\"@type\":\"Thing\",\"name\":\"CGPA Calculator\"},{\"@type\":\"Thing\",\"name\":\"GPA to CGPA conversion\"},{\"@type\":\"Thing\",\"name\":\"HEC Pakistan grading\"},{\"@type\":\"Thing\",\"name\":\"Cumulative Grade Point Average\"}],\"keywords\":\"gpa to cgpa calculator, cgpa calculator pakistan, cgpa formula, how to calculate cgpa, what is cgpa, cgpa grading system\"}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"What is CGPA?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"CGPA stands for Cumulative Grade Point Average. It is the running average of your semester GPAs across every term completed in your degree. At Pakistani universities, CGPA is calculated on the HEC 4.0 scale using credit-hour weighting: CGPA = \u03a3 (Semester GPA \u00d7 Credit Hours) \u00f7 \u03a3 Total Credit Hours.\"}},{\"@type\":\"Question\",\"name\":\"How to calculate CGPA from GPA?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"To calculate CGPA from GPA: take each semester GPA, multiply by that semester's credit hours, sum all results, then divide by total credit hours across all semesters. Formula: CGPA = \u03a3 (Semester GPA \u00d7 Credits) \u00f7 \u03a3 Credits.\"}},{\"@type\":\"Question\",\"name\":\"How is CGPA calculated in Pakistani universities?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Pakistani universities under the HEC use a credit-weighted 4.0 scale: CGPA = \u03a3 (Semester GPA \u00d7 Semester Credits) \u00f7 \u03a3 Total Credits. The same formula applies at NUST, COMSATS, FAST, LUMS, GIKI, IBA, Punjab University, UET Lahore and Karachi University.\"}},{\"@type\":\"Question\",\"name\":\"What is a good CGPA in Pakistan?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"On the HEC 4.0 scale, 3.0+ is competitive for top private-sector jobs and graduate admissions. 3.5+ unlocks Fulbright Pakistan, HEC Overseas Scholarships and most international scholarships. 3.7+ is honours territory at LUMS and NUST.\"}},{\"@type\":\"Question\",\"name\":\"Is CGPA out of 4 or 10?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In Pakistan, CGPA is out of 4.0 \u2014 the HEC mandates the 4.0 scale. In India and Bangladesh, the 10.0 scale is common at UGC institutions. The US, Canada and UK use the 4.0 scale. Some engineering programs use a 5.0 scale.\"}},{\"@type\":\"Question\",\"name\":\"How do I convert CGPA to percentage in Pakistan?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Most Pakistani universities use Percentage = CGPA \u00d7 25 on the 4.0 scale (e.g. 3.5 CGPA \u2248 87.5%). Each university may have its own official formula on the transcript.\"}},{\"@type\":\"Question\",\"name\":\"What is the CGPA formula?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The basic CGPA formula is CGPA = Sum of Semester GPAs \u00f7 Number of Semesters. The weighted CGPA formula (used by HEC universities) is CGPA = \u03a3 (Semester GPA \u00d7 Credits) \u00f7 \u03a3 Credits.\"}},{\"@type\":\"Question\",\"name\":\"How to calculate CGPA of 2 semesters?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Multiply each semester GPA by its credit hours, sum the results, divide by total credits. Example: Semester 1 (3.40 GPA, 18 cr) + Semester 2 (3.65 GPA, 19 cr) = 130.55 \u00f7 37 = 3.53 CGPA.\"}},{\"@type\":\"Question\",\"name\":\"What CGPA do I need for MS abroad from Pakistan?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For competitive MS programs, 3.0+ on the HEC 4.0 scale is the typical minimum, 3.5+ competitive. Top schools expect 3.7+ with strong GRE\/IELTS.\"}},{\"@type\":\"Question\",\"name\":\"Does CGPA include failed or repeated courses?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"At most Pakistani universities, yes. NUST, COMSATS, FAST and Punjab University typically count both the original F and the retake grade.\"}}]}\n<\/script>\n\n<!-- ===== Calculator Logic ===== -->\n<script>\n(function() {\n  const scaleEl = document.getElementById('scale');\n  const countryEl = document.getElementById('country');\n  const weightedEl = document.getElementById('weighted');\n  const semHeader = document.getElementById('semHeader');\n  const semContainer = document.getElementById('semesters');\n  const addBtn = document.getElementById('addSem');\n  const resetBtn = document.getElementById('reset');\n  const printBtn = document.getElementById('print');\n  const workStage = document.getElementById('workStage');\n  const workToggle = document.getElementById('workToggle');\n  const resultEmpty = document.getElementById('resultEmpty');\n  const resultContent = document.getElementById('resultContent');\n  const resultValueWrap = document.getElementById('resultValueWrap');\n  const cgpaValue = document.getElementById('cgpaValue');\n  const cgpaScale = document.getElementById('cgpaScale');\n  const gradePill = document.getElementById('gradePill');\n  const meterFill = document.getElementById('meterFill');\n  const meterMax = document.getElementById('meterMax');\n  const pctValue = document.getElementById('pctValue');\n  const gpa4Value = document.getElementById('gpa4Value');\n  const gpa10Value = document.getElementById('gpa10Value');\n  const ukValue = document.getElementById('ukValue');\n\n  const COUNTRY_PRESETS = {\n    pk: { scale: '4',  credits: 18 },\n    in: { scale: '10', credits: 22 },\n    us: { scale: '4',  credits: 15 },\n    uk: { scale: '4',  credits: 15 },\n    de: { scale: '4',  credits: 30 },\n    ca: { scale: '4',  credits: 15 },\n    au: { scale: '7',  credits: 24 },\n    bd: { scale: '4',  credits: 18 }\n  };\n\n  let weighted = true;\n  let semesters = [];\n  let lastCgpa = null;\n\n  function uid() { return Math.random().toString(36).slice(2, 9); }\n\n  function addSemester(gpa = '', credits = '') {\n    semesters.push({ id: uid(), gpa, credits });\n    renderSemesters();\n  }\n\n  function removeSemester(id) {\n    if (semesters.length <= 1) return;\n    semesters = semesters.filter(s => s.id !== id);\n    renderSemesters();\n  }\n\n  function renderSemesters() {\n    semContainer.innerHTML = '';\n    semesters.forEach((s, i) => {\n      const row = document.createElement('div');\n      row.className = 'sem-row' + (weighted ? '' : ' no-credits');\n      row.innerHTML = `\n        <div class=\"sem-input-wrap\">\n          <span class=\"sem-tag\">S${i + 1}<\/span>\n          <input class=\"sem-input\" type=\"number\" step=\"0.01\" min=\"0\" max=\"${scaleEl.value}\"\n                 placeholder=\"0.00\" value=\"${s.gpa}\" data-id=\"${s.id}\" data-field=\"gpa\"\n                 aria-label=\"Semester ${i+1} GPA\" inputmode=\"decimal\" \/>\n        <\/div>\n        ${weighted ? `\n        <div class=\"sem-input-wrap\">\n          <input class=\"sem-input credits-input\" type=\"number\" step=\"0.5\" min=\"0\" max=\"60\"\n                 placeholder=\"0\" value=\"${s.credits}\" data-id=\"${s.id}\" data-field=\"credits\"\n                 aria-label=\"Semester ${i+1} credits\" inputmode=\"decimal\" \/>\n        <\/div>` : ''}\n        <button class=\"sem-remove\" data-id=\"${s.id}\" ${semesters.length <= 1 ? 'disabled' : ''} aria-label=\"Remove semester ${i+1}\">\u00d7<\/button>\n      `;\n      semContainer.appendChild(row);\n    });\n\n    semHeader.className = 'sem-list-head' + (weighted ? '' : ' no-credits');\n    semHeader.querySelector('.credits-col').style.display = weighted ? '' : 'none';\n\n    semContainer.querySelectorAll('input').forEach(input => {\n      input.addEventListener('input', onInputChange);\n    });\n    semContainer.querySelectorAll('.sem-remove').forEach(btn => {\n      btn.addEventListener('click', e => removeSemester(e.currentTarget.dataset.id));\n    });\n\n    calculate();\n  }\n\n  function onInputChange(e) {\n    const { id, field } = e.target.dataset;\n    const sem = semesters.find(s => s.id === id);\n    if (sem) {\n      sem[field] = e.target.value;\n      const max = parseFloat(scaleEl.value);\n      if (field === 'gpa' && e.target.value !== '' && (parseFloat(e.target.value) < 0 || parseFloat(e.target.value) > max)) {\n        e.target.classList.add('error');\n      } else {\n        e.target.classList.remove('error');\n      }\n    }\n    calculate();\n  }\n\n  function num(v) {\n    const n = parseFloat(v);\n    return (isNaN(n) || n < 0) ? null : n;\n  }\n\n  function calculate() {\n    const scale = parseFloat(scaleEl.value);\n    meterMax.textContent = scale.toFixed(0);\n\n    const valid = semesters.map(s => ({\n      gpa: num(s.gpa),\n      credits: weighted ? num(s.credits) : 1\n    })).filter(s => s.gpa !== null && s.gpa <= scale && (s.credits !== null && s.credits > 0));\n\n    if (valid.length === 0) {\n      resultEmpty.style.display = '';\n      resultContent.style.display = 'none';\n      return;\n    }\n\n    resultEmpty.style.display = 'none';\n    resultContent.style.display = '';\n\n    let totalPoints = 0;\n    let totalCredits = 0;\n    const lines = [];\n\n    valid.forEach((s, i) => {\n      const points = s.gpa * s.credits;\n      totalPoints += points;\n      totalCredits += s.credits;\n      if (weighted) {\n        lines.push(`  S${i+1}   ${s.gpa.toFixed(2)} \u00d7 ${s.credits.toFixed(0).padStart(2,' ')}cr  =  ${points.toFixed(2).padStart(7,' ')}`);\n      } else {\n        lines.push(`  S${i+1}   ${s.gpa.toFixed(2)}`);\n      }\n    });\n\n    const cgpa = totalPoints \/ totalCredits;\n    lines.push(`  ${'\u2500'.repeat(weighted ? 32 : 14)}`);\n\n    if (weighted) {\n      lines.push(`  Total points${' '.repeat(11)}${totalPoints.toFixed(2).padStart(7,' ')}`);\n      lines.push(`  Total credits${' '.repeat(10)}${totalCredits.toFixed(2).padStart(7,' ')}`);\n      lines.push(`  CGPA = ${totalPoints.toFixed(2)} \u00f7 ${totalCredits.toFixed(2)}`);\n    } else {\n      lines.push(`  Sum  = ${totalPoints.toFixed(2)}`);\n      lines.push(`  CGPA = ${totalPoints.toFixed(2)} \u00f7 ${valid.length}`);\n    }\n\n    workStage.innerHTML = lines.join('\\n') +\n      `<span class=\"work-final\">       =  <strong>${cgpa.toFixed(2)}<\/strong> \/ ${scale.toFixed(1)}<\/span>`;\n\n    \/\/ Animate pop\n    if (lastCgpa !== null && Math.abs(lastCgpa - cgpa) > 0.001) {\n      resultValueWrap.classList.remove('pop');\n      void resultValueWrap.offsetWidth;\n      resultValueWrap.classList.add('pop');\n    }\n    cgpaValue.textContent = cgpa.toFixed(2);\n    cgpaScale.textContent = `out of ${scale.toFixed(2)}`;\n\n    const pct = cgpaToPercent(cgpa, scale);\n    pctValue.textContent = pct.toFixed(1) + '%';\n    gpa4Value.textContent = (cgpa \/ scale * 4).toFixed(2);\n    gpa10Value.textContent = (cgpa \/ scale * 10).toFixed(2);\n    ukValue.textContent = ukClass(pct);\n\n    \/\/ Grade pill + meter\n    const ratio = cgpa \/ scale;\n    meterFill.style.width = (ratio * 100) + '%';\n\n    let pillClass = 'low', pillText = 'Needs improvement \ud83d\udcaa';\n    if (ratio >= 0.9) { pillClass = 'outstanding'; pillText = '\ud83c\udf1f Outstanding'; }\n    else if (ratio >= 0.8) { pillClass = 'excellent'; pillText = '\ud83c\udf89 Excellent'; }\n    else if (ratio >= 0.7) { pillClass = 'very-good'; pillText = '\ud83d\udc4f Very good'; }\n    else if (ratio >= 0.6) { pillClass = 'good'; pillText = '\ud83d\udc4d Good'; }\n    else if (ratio >= 0.5) { pillClass = 'average'; pillText = '\ud83d\ude0a Average'; }\n    else if (ratio >= 0.4) { pillClass = 'low'; pillText = '\u26a0\ufe0f Below average'; }\n    gradePill.className = 'result-grade-pill ' + pillClass;\n    gradePill.textContent = pillText;\n\n    \/\/ Confetti on great results (only when crossing threshold)\n    if (lastCgpa !== null && ratio >= 0.85 && (lastCgpa \/ scale) < 0.85) {\n      confetti();\n    }\n\n    lastCgpa = cgpa;\n  }\n\n  function cgpaToPercent(cgpa, scale) {\n    if (scale === 10) return cgpa * 9.5;\n    return (cgpa \/ scale) * 100;\n  }\n\n  function ukClass(pct) {\n    if (pct >= 70) return 'First Class';\n    if (pct >= 60) return '2:1';\n    if (pct >= 50) return '2:2';\n    if (pct >= 40) return 'Third';\n    return 'Fail';\n  }\n\n  \/\/ Confetti\n  function confetti() {\n    const colors = ['#10B981', '#8B5CF6', '#FBBF24', '#EC4899', '#3B82F6', '#F97316'];\n    for (let i = 0; i < 50; i++) {\n      const piece = document.createElement('div');\n      piece.className = 'confetti-piece';\n      piece.style.left = Math.random() * 100 + 'vw';\n      piece.style.background = colors[Math.floor(Math.random() * colors.length)];\n      piece.style.animationDuration = (1.8 + Math.random() * 1.4) + 's';\n      piece.style.animationDelay = (Math.random() * 0.3) + 's';\n      piece.style.transform = `rotate(${Math.random() * 360}deg)`;\n      document.body.appendChild(piece);\n      setTimeout(() => piece.remove(), 3500);\n    }\n  }\n\n  \/\/ Events\n  scaleEl.addEventListener('change', () => { countryEl.value = 'custom'; renderSemesters(); });\n  countryEl.addEventListener('change', () => {\n    const preset = COUNTRY_PRESETS[countryEl.value];\n    if (preset) {\n      scaleEl.value = preset.scale;\n      semesters.forEach(s => { if (!s.credits) s.credits = preset.credits; });\n      renderSemesters();\n    }\n  });\n  weightedEl.addEventListener('click', () => {\n    weighted = !weighted;\n    weightedEl.classList.toggle('on', weighted);\n    weightedEl.setAttribute('aria-checked', weighted);\n    renderSemesters();\n  });\n  addBtn.addEventListener('click', () => addSemester('', weighted ? '18' : ''));\n  resetBtn.addEventListener('click', () => {\n    semesters = [];\n    lastCgpa = null;\n    addSemester('', '18');\n    addSemester('', '18');\n    addSemester('', '17');\n    countryEl.value = 'pk';\n    scaleEl.value = '4';\n  });\n  printBtn.addEventListener('click', () => window.print());\n\n  workToggle.addEventListener('click', () => {\n    workToggle.classList.toggle('open');\n  });\n\n  \/\/ FAQ\n  document.querySelectorAll('.faq-q').forEach(btn => {\n    btn.addEventListener('click', () => {\n      const item = btn.parentElement;\n      const open = item.classList.toggle('open');\n      btn.setAttribute('aria-expanded', open);\n    });\n  });\n\n  \/\/ Init\n  addSemester('3.7', '18');\n  addSemester('3.5', '18');\n  addSemester('3.9', '17');\n})();\n<\/script>\n\n<\/body>\n<\/html><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"footnotes":""},"class_list":["post-3361","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/pages\/3361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3361"}],"version-history":[{"count":5,"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/pages\/3361\/revisions"}],"predecessor-version":[{"id":5195,"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=\/wp\/v2\/pages\/3361\/revisions\/5195"}],"wp:attachment":[{"href":"https:\/\/gpatocgpacalculator.pk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}