*{box-sizing:border-box}
:root{--purple:#4b1199;--purple2:#7219cf;--deep:#211133;--muted:#6c6377;--bg:#faf8fd;--border:#e9e1f2;--white:#fff}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--deep);background:var(--bg);line-height:1.6}
a{text-decoration:none;color:inherit}
.header{height:76px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
.nav-shell{max-width:1180px;height:100%;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:165px;height:53px;object-fit:contain}
.header nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}
.header nav a{color:#51485b}
.header nav a:hover,.header nav a.active{color:var(--purple)}
.nav-admin{border:1px solid #d9c8ed;padding:8px 15px;border-radius:9px;color:var(--purple)!important}
.nav-toggle{display:none;border:0;background:none;font-size:25px;color:var(--purple);cursor:pointer}
.hero{min-height:620px;position:relative;overflow:hidden;background:linear-gradient(135deg,#fbf8ff 0%,#fff 54%,#f2eaff 100%)}
.hero:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(110,35,205,.10);filter:blur(4px);right:-240px;top:-200px}
.hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(89,18,169,.08);left:-180px;bottom:-190px}
.hero-shell{max-width:1180px;margin:auto;padding:90px 20px 100px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;position:relative;z-index:2}
.eyebrow{display:inline-block;color:var(--purple);font-size:12px;letter-spacing:2px;font-weight:800;margin-bottom:12px}
.eyebrow.light{color:#d8bfff}
.hero h1{font-size:58px;line-height:1.08;letter-spacing:-2px;margin:0 0 22px;font-weight:800}
.hero h1 span{color:var(--purple)}
.hero-text{font-size:17px;color:var(--muted);max-width:650px;margin-bottom:30px}
.verify-form{display:flex;gap:12px;max-width:680px}
.search-field{height:56px;background:#fff;border:1px solid #ddd1ea;border-radius:11px;display:flex;align-items:center;flex:1;padding:0 16px;box-shadow:0 8px 30px rgba(62,24,102,.06)}
.search-field span{font-size:26px;color:var(--purple);margin-right:9px}
.search-field input{border:0;outline:0;width:100%;font:inherit;font-size:15px;color:var(--deep);background:transparent}
.primary-btn,.white-btn,.outline-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:14px 20px;font-weight:700;border:0;cursor:pointer;transition:.2s}
.primary-btn{background:linear-gradient(135deg,#4b1199,#7018c9);color:#fff;box-shadow:0 12px 25px rgba(75,17,153,.2)}
.primary-btn:hover{transform:translateY(-2px)}
.hero-note{margin-top:15px;color:#756a81;font-size:13px}
.hero-note span{color:#1d9a4b;font-weight:800;margin-right:5px}
.hero-card{position:relative;display:flex;justify-content:center}
.certificate-mini{width:390px;height:270px;background:linear-gradient(145deg,#fff,#f8f1ff);border:8px solid #f0e5fb;outline:1px solid #d8c3ed;box-shadow:0 28px 65px rgba(64,22,113,.18);padding:30px;text-align:center;transform:rotate(2deg)}
.mini-logo{font-weight:800;color:#32105f;font-size:21px}
.mini-title{font-size:30px;font-weight:800;color:var(--purple);margin-top:12px}
.mini-line{width:130px;height:2px;background:var(--purple);margin:9px auto}
.mini-text{font-weight:700;color:#4b1199;font-size:14px}
.mini-name{font-size:22px;font-weight:700;margin-top:28px}
.mini-copy{font-size:13px;color:#6c6377}
.mini-footer{display:flex;justify-content:space-between;font-size:11px;color:#5b4e69;margin-top:28px}
.floating-tag{position:absolute;right:4px;top:2px;background:#fff;color:#198447;padding:8px 14px;border-radius:30px;font-weight:800;font-size:12px;box-shadow:0 10px 25px rgba(0,0,0,.10);z-index:2}
.section{padding:90px 20px}
.light-section{background:#f8f5fc}
.content-shell{max-width:1180px;margin:auto}
.section-heading{text-align:center;max-width:720px;margin:0 auto 40px}
.section-heading h2,.two-col h2,.semester-copy h2,.review-card h2{font-size:37px;line-height:1.15;margin:0 0 12px;letter-spacing:-1px}
.section-heading p,.two-col p,.review-card p{color:var(--muted)}
.empty-state{text-align:center;background:#fff;border:1px dashed #d9cbe8;border-radius:18px;padding:45px}
.empty-icon{width:50px;height:50px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#f0e7fa;color:var(--purple);font-weight:800;font-size:22px}
.empty-state h3{margin:15px 0 3px}
.empty-state p{margin:0;color:var(--muted)}
.result-area{min-height:130px}
.result-box{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(49,21,83,.07);margin-bottom:16px}
.result-valid{border-left:5px solid #25a353}
.result-invalid{border-left:5px solid #d12d45}
.result-box h3{margin:0 0 15px}
.result-box p{margin:7px 0;color:#62586e}
.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.download-btn{display:inline-flex;border:0;border-radius:9px;padding:10px 15px;background:var(--purple);color:#fff;font-weight:700;cursor:pointer}
.download-btn.secondary{background:#eee7f7;color:var(--purple)}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}
.feature{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;display:flex;gap:12px}
.feature b{color:var(--purple)}
.feature span{font-weight:600}
.about-card{background:linear-gradient(145deg,#fff,#f5ecff);border:1px solid #dfd0ee;border-radius:24px;padding:40px;text-align:center;box-shadow:0 20px 50px rgba(65,23,110,.09)}
.about-card img{width:220px;max-width:100%;height:auto}
.about-card h3{font-size:20px;margin:16px 0 5px}
.about-card p{margin-bottom:24px}
.outline-btn{border:1px solid #bfa7d9;color:var(--purple);background:#fff}
.semester-section{background:linear-gradient(135deg,#34105f,#5512a3 55%,#731bc6);color:#fff;position:relative;overflow:hidden}
.semester-section:after{content:"";position:absolute;width:450px;height:450px;border:80px solid rgba(255,255,255,.05);border-radius:50%;right:-180px;top:-180px}
.semester-shell{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2}
.semester-copy h2{font-size:42px}
.semester-copy p{color:#e9dcf8;max-width:650px}
.white-btn{background:#fff;color:#4b1199;margin-top:12px}
.semester-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.semester-stats div{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:16px;padding:25px 15px;text-align:center;backdrop-filter:blur(8px)}
.semester-stats strong{display:block;font-size:28px}
.semester-stats span{font-size:12px;color:#e7d9f6}
.review-section{padding-top:70px;padding-bottom:70px}
.review-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 12px 35px rgba(49,21,83,.06)}
.review-card h2{font-size:29px}
.contact-section{background:#fff}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.contact-card{border:1px solid var(--border);border-radius:15px;padding:20px;display:flex;align-items:center;gap:14px;transition:.2s}
.contact-card:hover{transform:translateY(-3px);border-color:#cbb5e2;box-shadow:0 10px 30px rgba(50,20,90,.07)}
.contact-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#f0e7fa;color:var(--purple);font-weight:800}
.contact-card small{display:block;color:#84788e;margin-bottom:2px}
.contact-card strong{font-size:13px;word-break:break-word}
.footer{background:#1e112c;color:#ddd3e7;padding-top:55px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding:0 20px 45px}
.footer-brand img{width:190px;height:60px;object-fit:contain;background:#fff;border-radius:9px;padding:2px}
.footer-brand p{color:#aa9bb8}
.footer h4{color:#fff;margin:0 0 13px}
.footer a{display:block;color:#bcaec8;font-size:13px;margin:9px 0}
.footer a:hover{color:#fff}
.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.08);padding:18px 20px;font-size:12px;color:#9d8daa}
.canvas-wrap{width:100%;overflow:auto;background:#f0edf3;border-radius:14px;padding:12px}
#studentCanvas,#certificateCanvas{display:block;max-width:100%;height:auto;margin:auto}
.download-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.hidden{display:none!important}
.admin-body{background:#f5f2f9}
.admin-shell{max-width:1240px;margin:35px auto;padding:0 20px}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.admin-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}
.admin-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-grid .full{grid-column:1/-1}
.form-grid label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.form-grid input,.admin-login input{width:100%;padding:12px 13px;border:1px solid #dacde8;border-radius:9px;outline:0;font:inherit}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:11px 9px;border-bottom:1px solid #eee6f3;text-align:left;font-size:13px;white-space:nowrap}
th{color:var(--purple);background:#fbf9fd}
.action-btn{border:0;background:#4b1199;color:#fff;border-radius:7px;padding:7px 10px;font-weight:700;cursor:pointer}
.action-btn.secondary{background:#eee7f7;color:var(--purple)}
.admin-login{max-width:450px;margin:90px auto;background:#fff;padding:30px;border-radius:18px;border:1px solid var(--border)}
.admin-login h1{margin-top:0;color:var(--purple)}
.admin-login button{margin-top:12px;width:100%}
.error{color:#c52d3d}.success{color:#1d8b48}
@media(max-width:900px){.hero-shell,.two-col,.semester-shell{grid-template-columns:1fr}.hero{min-height:auto}.hero-shell{padding-top:60px}.hero-card{order:-1}.contact-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 25px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start}.header nav.open{display:flex}.nav-toggle{display:block}}
@media(max-width:600px){.hero h1{font-size:42px}.hero-text{font-size:15px}.verify-form{flex-direction:column}.primary-btn{width:100%}.certificate-mini{width:310px;height:220px;padding:20px}.mini-title{font-size:24px}.mini-name{margin-top:18px}.section{padding:65px 15px}.section-heading h2,.two-col h2,.semester-copy h2{font-size:30px}.contact-grid{grid-template-columns:1fr}.feature-grid,.semester-stats{grid-template-columns:1fr}.review-card{padding:28px;align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:30px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
.hero-image-box {
  width: 100%;
  max-width: 500px;
  border-radius: 24px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e5d8f1;
  box-shadow: 0 25px 60px rgba(64, 22, 113, 0.16);
}

.hero-image-box img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
