:root{--bg:#f7f7f4;--card:#fff;--text:#171717;--muted:#676767;--line:#deded8;--accent:#1f7a4d;--accent-dark:#155d39;--soft:#dff2e7;--focus:#075fe4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 0,rgba(31,122,77,.06),transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:10px 14px;background:var(--text);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.shell{width:min(1120px,calc(100% - 40px));margin:auto}
.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-weight:700;text-decoration:none;letter-spacing:-.03em;white-space:nowrap}nav{display:flex;gap:26px}nav a{padding:8px 0;color:var(--muted);font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s ease,transform .2s ease}nav a:hover{color:var(--text);transform:translateY(-1px)}
.hero{max-width:780px;padding:90px 0 82px}.eyebrow{margin:0 0 10px;color:var(--accent-dark);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(3.25rem,8vw,5.25rem);font-weight:650;letter-spacing:-.06em;line-height:.98}.role{margin:18px 0 38px;color:var(--muted);font-size:clamp(1.125rem,2vw,1.35rem)}.intro{max-width:700px;color:#565656;font-size:1.0625rem;line-height:1.68}.intro p{margin:0 0 18px}.links,.contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.links a,.contact-links a,.pending{padding:11px 16px;border-radius:999px;background:#ecece8;font-size:.875rem;text-decoration:none;transition:background .2s ease,transform .2s ease}.links a:hover,.contact-links a:hover{background:var(--soft);transform:translateY(-2px)}
section.projects,section.about,section.credentials,section.skills,section.resume,section.contact{padding:76px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.heading h2,.about h2,.resume h2,.contact h2{margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:600;letter-spacing:-.045em;line-height:1.08}.heading>p,.contact>p{max-width:380px;color:var(--muted);line-height:1.55}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:22px;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}.card:hover{transform:translateY(-4px);border-color:#c9d5cd;box-shadow:0 16px 44px rgba(0,0,0,.07)}.visual{display:grid;place-items:center;height:220px;overflow:hidden}.dark{background:#111714}.terminal{display:grid;width:78%;gap:11px;padding:18px;transform:rotate(-2deg);border:1px solid #27332d;border-radius:12px;background:#090c0a;box-shadow:0 20px 50px rgba(0,0,0,.3);color:#c6f4d8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.radar-wrap{background:radial-gradient(circle,rgba(55,154,99,.28),transparent 35%),#0c1114}.radar{position:relative;width:145px;aspect-ratio:1;border:1px solid rgba(126,231,169,.45);border-radius:50%;background:linear-gradient(rgba(126,231,169,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(126,231,169,.14) 1px,transparent 1px);background-size:36px 36px}.radar:after{position:absolute;top:50%;left:50%;width:1px;height:50%;transform-origin:top;background:linear-gradient(#7ee7a9,transparent);content:"";animation:sweep 3.8s linear infinite}.radar b{position:absolute;top:45px;right:28px;width:9px;height:9px;border-radius:50%;background:#7ee7a9;box-shadow:0 0 18px #7ee7a9}.light{background:linear-gradient(135deg,#f0f4f1,#dfe9e2)}.pipe{display:flex;align-items:center;gap:8px;width:88%}.pipe span{flex:1;padding:12px 6px;border:1px solid #d9ddd9;border-radius:10px;background:#fff;font-size:.6875rem;font-weight:700;text-align:center}.pipe i{width:18px;height:2px;background:#6da57f}.copy{padding:24px}.copy .meta{margin:0;color:var(--accent-dark);font-size:.75rem;font-weight:700;letter-spacing:.07em;line-height:1.4;text-transform:uppercase}.copy h3{margin:10px 0 12px;font-size:1.35rem;letter-spacing:-.03em;line-height:1.2}.copy>p:not(.meta,.status){margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.copy .status{margin:18px 0 0;color:var(--accent-dark);font-size:.8rem;font-weight:600}
.about,.resume{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1fr);gap:80px}.about-copy,.resume-copy{color:var(--muted);font-size:1rem;line-height:1.7}.about-copy p,.resume-copy p{margin:0 0 18px}.credential-list,.chips{margin:0;padding:0;list-style:none}.credential-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.credential-list li{display:grid;gap:8px;min-height:112px;padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.7)}.credential-list span{color:var(--accent-dark);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.credential-list strong{align-self:end;font-size:1rem;line-height:1.4}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips li{padding:12px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.875rem;transition:border-color .2s ease,transform .2s ease}.chips li:hover{transform:translateY(-2px);border-color:#9fc7ae}.pending{display:inline-block;color:var(--muted);cursor:default}.contact{padding-bottom:110px}.contact-links a:first-child{font-size:1rem;text-decoration:underline;text-underline-offset:4px}footer{display:flex;min-height:86px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}
.reveal.will-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.will-reveal.visible{opacity:1;transform:none}@keyframes sweep{to{transform:rotate(360deg)}}
@media(max-width:820px){.site-header{align-items:flex-start;flex-direction:column;padding:22px 0}nav{width:100%;gap:8px 20px;overflow-x:auto}nav a{flex:0 0 auto}.hero{padding-top:60px}.grid{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.visual{height:200px}.about,.resume{grid-template-columns:1fr;gap:28px}}
@media(max-width:560px){.shell{width:calc(100% - 28px)}.hero{padding:48px 0 64px}.hero h1{font-size:3.25rem}section.projects,section.about,section.credentials,section.skills,section.resume,section.contact{padding:60px 0}.credential-list{grid-template-columns:1fr}.pipe{gap:4px;width:94%}.pipe i{width:8px}.pipe span{padding-inline:4px}footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:8px}}
.certification-badges { display: flex; flex-wrap: wrap; gap: 12px 20px; padding: 0; margin: 32px 0 0; list-style: none; }
.certification-badges li { flex: 0 1 170px; min-width: 0; }
/* A transform here isolates the image blend and exposes its white background. */
.certification-badges a { position: relative; top: 0; display: flex; flex-direction: column; align-items: center; height: 100%; padding: 8px 0 12px; border-radius: 12px; background: transparent; text-align: center; text-decoration: none; font-size: .875rem; font-weight: 600; line-height: 1.45; transition: top .2s ease; }
.certification-badges a:hover { top: -4px; }
.badge-art { display: flex; align-items: center; justify-content: center; flex: none; width: 156px; height: 160px; overflow: hidden; margin-bottom: 12px; mix-blend-mode: multiply; }
.badge-art img { flex: none; width: 138px; height: 150px; object-fit: contain; }
.badge-art .aws-badge { width: 260px; height: 260px; max-width: none; }
.badge-art img[src$="cka-badge.png"] { width: 156px; height: 156px; }
.badge-subtitle { display: block; color: var(--muted); font-weight: 400; margin-top: 2px; }
.copy .publication-title { margin-top: 14px !important; font-size: .8125rem !important; }
.status a { text-underline-offset: 4px; line-height: 1.6; }
.experience-list { list-style: none; margin: 0; padding: 0; }
.experience-list li { padding: 0 0 22px 20px; border-left: 2px solid var(--line); }
.experience-list h3 { margin: 0 0 5px; color: var(--text); font-size: 1rem; line-height: 1.4; }
.experience-list .experience-meta { font-size: .875rem; color: var(--accent-dark); margin-bottom: 10px; }
.resume-education { font-size: .875rem; border-top: 1px solid var(--line); padding-top: 22px; }
.request-cv { display: inline-block; margin-top: 8px; padding: 11px 16px; border: 1px solid var(--accent); border-radius: 999px; color: var(--accent-dark); font-size: .875rem; font-weight: 600; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.request-cv:hover { background: var(--soft); transform: translateY(-2px); }
@media (max-width: 560px) { .certification-badges { gap: 16px 8px; } .certification-badges li { flex: 1 1 128px; max-width: 170px; } .badge-art { width: 132px; height: 142px; } .badge-art img { width: 122px; height: 134px; } .badge-art .aws-badge { width: 226px; height: 226px; } }
@media (max-width: 560px) { .badge-art img[src$="cka-badge.png"] { width: 132px; height: 132px; } }
/* Personal photography: preserve the complete frames and original image pixels. */
.hero { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 310px); align-items: center; gap: 64px; }
.hero-copy { min-width: 0; }
.hero-portrait { margin: 0; overflow: hidden; border-radius: 160px 160px 22px 22px; background: #c6c0b8; }
.hero-portrait img { display: block; width: 100%; height: auto; }
.cricket { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 64px; padding: 76px 0; border-top: 1px solid var(--line); }
.cricket-photo { margin: 0; }
.cricket-photo img { display: block; width: 100%; height: auto; border-radius: 18px; }
.cricket-photo figcaption { margin-top: 12px; color: var(--muted); font-size: .8125rem; }
.cricket-copy h2 { margin: 0 0 24px; font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.08; }
.cricket-copy > p:not(.eyebrow) { color: var(--muted); font-size: 1rem; line-height: 1.7; }
.cricket-facts { display: flex; flex-wrap: wrap; gap: 20px 28px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.cricket-facts span { display: grid; gap: 6px; color: var(--muted); font-size: .875rem; }
.cricket-facts strong { color: var(--accent-dark); font-size: 1rem; }
@media (max-width: 1000px) { .hero { gap: 32px; grid-template-columns: minmax(0, 1fr) 250px; } .hero h1 { font-size: clamp(3.25rem, 7vw, 4.5rem); } .cricket { gap: 32px; } }
@media (max-width: 700px) { .hero, .cricket { grid-template-columns: minmax(0, 1fr); gap: 36px; } .hero-portrait { width: min(250px, 75%); justify-self: center; } .cricket { padding: 60px 0; } .cricket-copy { grid-row: 1; } }
.projects .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-card-link h3 a { text-decoration: none; }
.project-card-link h3 a:hover { color: var(--accent-dark); }
@media (max-width: 820px) { .projects .grid { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal.will-reveal{opacity:1;transform:none}}
