/* Final reference polish: shared across the portfolio and supporting pages. */
:root{--display:var(--body);--muted:#62656b;--line:#e7e8eb;--control-shadow:0 6px 16px #0d0f1710}
h1,h2,h3{letter-spacing:-.035em;text-wrap:balance}
.hero h1{letter-spacing:-.04em;font-weight:700}
.section-heading h2{font-size:48px;line-height:1.15;font-weight:700}
.section-heading{margin-bottom:56px}
.section-heading p{font-size:17px;line-height:1.6;margin-top:18px;color:var(--muted)}
.brand{font-weight:650;letter-spacing:-.035em;gap:10px}
.brand-mark{width:36px;height:40px}
.nav-link{font-size:15px;gap:8px}
.site-header.scrolled{box-shadow:0 5px 20px #0d0f1705}
.button{min-height:52px;padding:14px 26px;font-size:16px;line-height:1.35}
.button.light,.button.white{border-color:var(--line)}
.button.light:hover,.button.white:hover{background:#f0f1f3;box-shadow:var(--control-shadow)}
.button.dark:hover{background:#20232b;box-shadow:0 7px 16px #0d0f1726}
.button:active,.circle:active{transform:scale(.97)}
.circle{min-width:44px;min-height:44px}
.button:focus-visible,.circle:focus-visible,.filters button:focus-visible,.project-tile:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.filters{gap:10px;margin-bottom:48px}
.filters button{min-height:48px;font-size:16px;padding:12px 25px}
.company-heading{height:72px;min-height:72px;align-items:center;margin-bottom:22px}
.company-heading .company-name{display:none}
.card-face h3{font-size:19px;line-height:1.4}
.card-face p{font-size:16px;line-height:1.6;margin-top:24px}
.experience-meta{font-size:14px;gap:8px 16px;color:#42464e}
.experience-meta .icon{width:15px;height:15px;flex-shrink:0}
.experience-meta>span:first-child{margin-right:auto}
.card-face .experience-website{font-size:14px;min-height:44px;padding:10px 20px}
.memory-photo{border-radius:22px;overflow:hidden}
.academic-grid h3{font-weight:600;line-height:1.5;text-wrap:balance}
.academic-grid p,.academic-grid span{font-size:16px}
.academic-mark{border-color:#eff0f2}
.tools-layout .section-heading h2{font-size:clamp(34px,3.4vw,48px);white-space:normal}
.tool-label{font-size:15px;padding:9px 18px}
.tool-badge{box-shadow:0 1px 0 #0d0f1703}
.project-tile{border-radius:26px}
.project-image-kind{font-size:11px;line-height:1.3;padding:6px 10px}
.project-caption{font-size:15px;line-height:1.4;min-height:64px;align-items:flex-end}
.gallery-controls{gap:12px;margin:24px 0}
.gallery-controls .circle{width:44px;height:44px;min-width:44px}
.process-copy h3{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.035em}
.process-card .process-copy{padding:40px 28px}
.process-copy p{line-height:1.55;margin-top:18px}
.process-icon{margin-bottom:24px}
.service-card{display:flex;flex-direction:column;padding:40px 32px}
.service-card h3{font-size:28px;font-weight:500;line-height:1.3}
.service-card p{font-size:16px;line-height:1.6;min-height:0;margin-bottom:26px}
.service-action{margin-top:auto}
.service-action>span{font-size:14px;line-height:1.4;padding:14px 12px}
.service-action .circle{width:50px;height:50px;min-width:50px}
.story-card h3{font-size:28px;line-height:1.3}
.recognition-list li{font-size:16px;padding:14px 0}
.article-card h3{font-size:26px;line-height:1.35;letter-spacing:-.025em}
.article-card p{font-size:16px;line-height:1.6}
.article-meta{font-variant-numeric:tabular-nums}
.article-card .button{font-size:15px;min-height:48px}
.footer-card h2{font-size:48px;line-height:1.2;letter-spacing:-.035em}
.footer-buttons{gap:16px}
.footer-bottom{font-size:14px;gap:28px}
.contact-form input,.contact-form textarea{font-size:16px;caret-color:var(--ink)}
.page-search input{font-size:16px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .process-image{transition:transform .65s var(--ease)}
  .process-card:hover .process-image{transform:scale(1.025)}
}
@media(min-width:761px) and (max-width:1100px){
  .nav-link{font-size:13px;padding-inline:10px}
  .brand{font-size:22px}
  .service-card{padding:32px 24px}
  .service-card h3,.process-copy h3{font-size:24px}
  .experience-meta>span:first-child{width:100%}
}
@media(max-width:760px){
  .section{padding-block:80px}
  .section-heading{margin-bottom:40px}
  .section-heading h2{font-size:36px}
  .section-heading p{font-size:16px;max-width:36ch}
  .hero h1{font-size:clamp(44px,9.7vw,68px);letter-spacing:-.04em}
  .hero-description{font-size:16px;line-height:1.6;min-height:52px}
  .brand{font-size:18px;gap:7px}
  .brand-mark{width:30px;height:32px}
  .header-actions>.button{min-height:40px}
  .nav-link{font-size:16px;min-height:46px}
  .filters{gap:8px;margin-bottom:32px}
  .filters button{font-size:14px;min-height:44px;padding:11px 20px}
  .card-face{padding-inline:26px}
  .card-face h3{font-size:18px}
  .card-face p{font-size:15px}
  .experience-meta{font-size:14px}
  .card-face .experience-website{left:26px}
  .academic-grid p,.academic-grid span{font-size:15px}
  .tools-layout .section-heading h2{font-size:36px}
  .tool-label{font-size:13px;padding:8px 12px}
  .project-caption{font-size:14px}
  .process-copy h3,.service-card h3,.story-card h3{font-size:26px}
  .service-card{padding:32px 26px}
  .service-action>span{font-size:14px}
  .article-card{padding:28px}
  .article-card h3{font-size:25px}
  .footer-card h2{font-size:36px}
  .footer-buttons .button{min-height:48px;font-size:15px;padding:13px 22px}
  .footer-bottom{font-size:13px;gap:14px}
}

.service-action{color:inherit;text-decoration:none}.service-action>.circle{flex:none;padding:0;border:0}.service-action:hover>span:first-child{background:#f0f1f3}.service-action:focus-visible{outline:3px solid var(--focus);outline-offset:5px;border-radius:999px}.gallery-controls #projects-next .icon{transform:rotate(45deg)}

@font-face{font-family:Kalam;src:url('assets/fonts/kalam-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.namaste-script{font-family:Kalam,cursive;font-size:25px;line-height:1.4;color:var(--muted)}






.academic-logo{width:96px;height:96px;border:0;overflow:hidden;position:relative}
.academic-logo img{width:100%;height:100%;object-fit:contain;display:block}
.academic-logo.jss img{width:253.5px;max-width:none;height:96px;object-fit:fill}
.academic-logo.department img{width:118px;max-width:none;height:auto;transform:translate(-11px,-1px)}
.text-link{display:inline-block;color:var(--ink);text-decoration:underline;text-underline-offset:5px;font-size:14px}
.images-loading .memory-track,.images-loading .project-track{animation-play-state:paused}
.brand-mark,.brand-mark img{animation:none!important;transition:none!important}
.dropdown::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.dropdown:not([hidden]){animation:resources-in .22s var(--ease) both}
.dropdown a{font-size:14px;min-height:44px;display:flex;align-items:center}
.dropdown a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;background:var(--section)}
@keyframes resources-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
/* Keep the heading in the centre of its four surrounding tool groups. */
.tools-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:48px 24px}
.tools-layout .section-heading{grid-column:2;grid-row:2;margin:0}
.tool-top{grid-column:2;grid-row:1}
.tool-left{grid-column:1;grid-row:2}
.tool-right{grid-column:3;grid-row:2;display:flex;flex-direction:column-reverse;gap:20px}
.tool-bottom{grid-column:2;grid-row:3;display:flex;flex-direction:column-reverse;gap:20px}
.tool-group .tool-label{transition:background .25s ease,box-shadow .25s ease}
.tool-group:focus-within .tool-label,.tool-group:hover .tool-label{box-shadow:0 5px 14px #0d0f170b}
.tool-badge{position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease);cursor:default}
.tool-badge:hover,.tool-badge:focus-visible{transform:translateY(-5px);box-shadow:0 8px 18px #0d0f1710;z-index:2}
.tool-label{white-space:nowrap}
.tool-badges{justify-content:center;flex-wrap:nowrap}
@media(max-width:1100px) and (min-width:761px){.tools-layout{gap:38px 16px}.tools-layout .section-heading h2{font-size:34px}.tool-label{font-size:13px;padding:9px 12px}.tool-badge{width:40px;height:40px;min-width:40px}.tool-badge img{width:23px;height:23px}}
@media(max-width:760px){
  .tools-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 12px}
  .tools-layout .section-heading{grid-column:1/-1;grid-row:2}
  .tool-top{grid-column:1/-1;grid-row:1}
  .tool-left{grid-column:1;grid-row:3}
  .tool-right{grid-column:2;grid-row:3;display:block}
  .tool-bottom{grid-column:1/-1;grid-row:4}
  .tool-label{font-size:12px;padding:8px 10px;white-space:normal}
  .tool-badges{flex-wrap:wrap;gap:0;max-width:100%;margin-inline:auto}
  .tool-left .tool-badges,.tool-right .tool-badges{max-width:150px}
  .tool-badge{width:42px;height:42px;min-width:42px}
  .tool-right .tool-label{margin-bottom:20px}
  .academic-logo{width:96px;height:96px}
}
@media(prefers-reduced-motion:reduce){.dropdown:not([hidden]){animation:none}.tool-badge:hover,.tool-badge:focus-visible{transform:none}}

/* The greeting animates in place; the rest of the page is immediately usable. */
.namaste-script{display:inline-grid;transition:color .35s ease}
.footer-card{padding-bottom:104px;isolation:isolate}
.footer-art{position:absolute;width:min(42vw,520px);left:-16px;bottom:-62px;pointer-events:none;z-index:2;filter:drop-shadow(0 12px 16px #00000022)}
.footer-art img{display:block;width:100%;height:auto}
.footer-meta{font-size:13px;line-height:1.6;gap:24px;position:relative;z-index:3}
.made-with{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.made-with .icon{width:16px;height:16px;flex:none}
.socials{flex-wrap:wrap;gap:9px}
.social{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s var(--ease)}
.social-logo{fill:currentColor;stroke:none}
.social[aria-label="LinkedIn"]:is(:hover,:focus-visible){background:#0a66c2;border-color:#0a66c2;color:#fff}
.social[aria-label="GitHub"]:is(:hover,:focus-visible){background:#fff;border-color:#fff;color:#181717}
.social[aria-label="Email Amrit"]:is(:hover,:focus-visible){background:#fff;border-color:#fff;color:#d93025}
.social[aria-label="Call Amrit"]:is(:hover,:focus-visible){background:#147bea;border-color:#147bea;color:#fff}
.social[aria-label="Medium"]:is(:hover,:focus-visible){background:#fff;border-color:#fff;color:#111}
.social[aria-label="Discord"]:is(:hover,:focus-visible){background:#5865f2;border-color:#5865f2;color:#fff}
.article-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:auto}
.article-actions .button{margin:0}
.reading-time{font-size:14px;color:var(--muted);white-space:nowrap}
@media(min-width:1101px){.footer-meta{padding-left:340px;gap:56px}}
@media(min-width:761px) and (max-width:1100px){.footer-art{width:330px}.footer-meta{padding-left:240px;gap:28px}}
@media(max-width:760px){.footer-card{padding-bottom:100px}.footer-art{position:relative;left:auto;bottom:auto;width:300px;max-width:100%;margin:36px auto -130px}.footer-meta{gap:24px}.footer-art{order:9}.footer-card{display:flex;flex-direction:column;align-items:center}.footer-card>*{max-width:100%}.footer-card .footer-meta{order:8}.footer-card .footer-art{order:9}.article-actions{gap:12px}.reading-time{font-size:13px}.article-actions .button{padding-inline:18px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.namaste-script{animation:none}}

@media(max-width:760px){.footer-card{padding-inline:20px}.socials{gap:4px;width:100%}}

.namaste-greeting:is(:hover,:focus-visible) .namaste-script{color:var(--ink)}
.certificate-link{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;font-size:14px;line-height:1.5;margin-top:18px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:var(--section);text-decoration:none;transition:background .2s ease}.certificate-link>span:last-child{font-size:13px;white-space:nowrap}.certificate-link:hover{background:var(--sky)}.certificate-link:focus-visible{outline:3px solid var(--focus);outline-offset:4px}

.namaste-script>span{grid-area:1/1}.namaste-measure{visibility:hidden}.namaste-typed{text-align:left}
