/* HOME BASE */
:root{--navy:#071b3a;--navy2:#0b2349;--blue:#2166dc;--blue2:#2f72df;--ink:#111c2f;--muted:#536074;--line:#e7edf5;--bg:#fff;--soft:#f8fbff;--shadow:0 18px 45px rgba(16,37,70,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}.site-header{height:64px;border-bottom:1px solid #edf1f6;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20}.nav-wrap{height:100%;max-width:1155px;margin:auto;display:flex;align-items:center;gap:22px;padding:0 8px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;margin-right:auto}.brand-mark{width:48px;height:48px;border-radius:13px;background:#081d3d;color:#fff;display:grid;place-items:center;font:700 16px "Space Grotesk";box-shadow:0 8px 20px #071b3a18}.brand-name{font:700 16px "Space Grotesk"}.nav{display:flex;align-items:stretch;height:100%;gap:2px}.nav a{font-size:12px;font-weight:700;padding:22px 11px 18px;position:relative}.nav a.active,.nav a:hover{color:var(--blue)}.nav a.active:after{content:"";position:absolute;left:11px;right:11px;bottom:-1px;height:2px;background:var(--blue)}.cv-btn{background:var(--blue);color:white;font-size:12px;font-weight:800;padding:12px 16px;border-radius:5px;white-space:nowrap;box-shadow:0 6px 14px #2166dc25}.hero{max-width:1155px;margin:auto;min-height:455px;display:grid;grid-template-columns:48% 52%;align-items:center;padding:20px 10px 26px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-60px;top:0;width:340px;height:260px;background-image:radial-gradient(#d9e6f8 1px,transparent 1px);background-size:14px 14px;opacity:.7;z-index:-1}.hero-copy{padding-left:8px}.eyebrow{color:var(--blue);font:700 18px "Space Grotesk";margin-bottom:5px}.hero h1{font:700 49px/1.03 "Space Grotesk";letter-spacing:-2.2px;margin:0 0 12px}.hero h1 span{color:var(--blue)}.hero h2{font:700 16px "Space Grotesk";margin:0 0 13px}.hero h2 b{color:var(--blue);margin:0 4px}.lead{font-size:12.5px;max-width:510px;color:#273449;margin:0 0 20px}.actions{display:flex;gap:14px;margin-bottom:24px}.primary,.secondary,.outline-link{display:inline-flex;align-items:center;gap:12px;font-weight:800;font-size:12px;border-radius:5px;padding:11px 16px}.primary{background:var(--blue);color:white;box-shadow:0 8px 18px #2166dc28}.secondary{border:1px solid #6f9be8;color:var(--blue);background:#fff}.socials{display:flex;gap:22px;font-size:11px;font-weight:700}.socials a:hover{color:var(--blue)}.hero-photo-area{height:430px;position:relative}.photo-card{position:absolute;left:72px;top:15px;width:370px;height:370px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#edf5ff,#f9fbff);box-shadow:0 18px 45px rgba(13,36,70,.12);border:1px solid #e3ebf5}.photo-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#7a8da8;font:800 28px/1.1 "Space Grotesk";letter-spacing:2px}.photo-placeholder small{display:block;font:500 10px Inter;letter-spacing:0;color:#7a8da8;margin-top:-145px}.quote-card{position:absolute;right:0;bottom:30px;width:205px;min-height:205px;padding:25px 27px;background:#fff;border-radius:14px;box-shadow:0 15px 35px rgba(16,37,70,.10);border:1px solid #eef2f7}.quote-mark{font:700 38px Georgia;color:var(--blue);height:35px}.quote-card p{font:700 13px/1.55 "Space Grotesk";margin:0 0 18px}.signature{font:italic 20px cursive;color:#2166dc}.stats{background:#061a3b;color:#fff;display:grid;grid-template-columns:repeat(5,1fr);max-width:none;padding:20px calc((100% - 1140px)/2);gap:0}.stats>div{display:grid;grid-template-columns:38px 55px 1fr;align-items:center;min-height:62px;padding:0 20px;border-right:1px solid #ffffff24}.stats>div:last-child{border:0}.stats i{font-style:normal;color:#4c8df6;font-size:26px;grid-row:span 2}.stats strong{font:700 20px "Space Grotesk"}.stats span{font-size:10px;line-height:1.45;color:#fff;grid-column:2/4}.section{max-width:1155px;margin:auto;padding:38px 18px}.about{display:grid;grid-template-columns:38% 62%;gap:38px}.section-kicker{font-size:11px;color:var(--blue);font-weight:800;margin-bottom:8px}.about h3,.lower h3,.contact h3{font:700 19px/1.25 "Space Grotesk";margin:0 0 12px}.about-text{border-right:1px solid #dce6f3;padding-right:34px}.about-text p,.lower p,.contact p{font-size:11.5px;color:#4c596c}.about ul{list-style:none;padding:0;margin:15px 0}.about li{font-size:10.5px;margin:5px 0}.about li:before{content:"✓";color:var(--blue);font-weight:900;margin-right:9px}.outline-link{border:1px solid #e0e8f2;color:var(--blue);padding:7px 13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{border:1px solid #e6ecf4;border-radius:10px;padding:20px 17px;min-height:160px;box-shadow:0 8px 25px rgba(20,40,70,.035)}.icon,.project-icon,.mini-icon{color:var(--blue);font-size:24px}.service-grid h4,.project-grid h4{font:700 12px "Space Grotesk";margin:12px 0 7px}.service-grid p,.project-grid p{font-size:10.5px;line-height:1.45;color:#566174;margin:0}.featured{max-width:1155px;margin:0 auto 12px;background:#061a3b;border-radius:7px;padding:13px 18px 10px;color:#fff}.featured-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.featured-head h3{font:700 14px "Space Grotesk";margin:0}.featured-head a{font-size:10px;color:#72a7ff;font-weight:700}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.project-grid article{display:grid;grid-template-columns:52px 1fr;gap:9px;background:linear-gradient(135deg,#102b55,#0b2349);padding:13px;border-radius:6px;border:1px solid #23426b}.project-icon{width:42px;height:42px;border-radius:7px;background:#ffffff12;display:grid;place-items:center;color:#fff}.project-grid h4{margin:0 0 5px;color:#fff}.project-grid p{color:#dbe5f3;font-size:9.5px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.tags span{background:#153b70;color:#79adff;border-radius:4px;padding:3px 6px;font-size:8px;font-weight:700}.quick-grid{max-width:1155px;margin:0 auto 25px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-grid article{display:grid;grid-template-columns:32px 1fr;gap:8px;border:1px solid #edf1f6;border-radius:7px;padding:11px 12px}.mini-icon{width:32px;height:32px;background:#f1f6ff;border-radius:5px;display:grid;place-items:center;font-size:16px}.quick-grid b{font-size:10px;color:var(--blue)}.quick-grid p{font-size:9px;line-height:1.4;color:#4e5b6e;margin:4px 0 0}.lower{border-top:1px solid #edf1f6}.contact{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6}.contact .primary{margin-right:20px}footer{border-top:1px solid #e8edf4;padding:20px max(20px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;font-size:10px;color:#6b7788}
@media(max-width:1000px){.nav{display:none}.hero{grid-template-columns:1fr}.hero-photo-area{min-height:420px}.stats{grid-template-columns:repeat(2,1fr);padding:15px}.stats>div{border-bottom:1px solid #ffffff24}.about{grid-template-columns:1fr}.about-text{border:0;border-bottom:1px solid #dce6f3;padding:0 0 28px}.service-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}}
@media(max-width:600px){.brand-name{display:none}.hero{padding:30px 18px}.hero h1{font-size:42px}.hero-photo-area{height:380px}.photo-card{left:0;width:75%;height:330px}.quote-card{width:48%;min-height:175px;padding:18px;bottom:10px}.socials{gap:12px;flex-wrap:wrap}.stats{grid-template-columns:1fr}.stats>div{border-right:0}.service-grid,.quick-grid{grid-template-columns:1fr}.contact{display:block}.cv-btn{padding:10px 12px}.brand{margin-right:0}.nav-wrap{justify-content:space-between}}

/* v2: expanded one-page profile */
.skills h3,.research h3,.edu h3,.cert h3,.faq h3{font:700 20px/1.25 "Space Grotesk";margin:0 0 14px}
.skill-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.skill-groups>div{border:1px solid var(--line);border-radius:9px;padding:14px;background:var(--soft)}
.skill-groups b{display:block;font:700 11px "Space Grotesk";margin-bottom:8px}
.skill-groups span{display:inline-block;padding:5px 7px;background:#fff;border:1px solid #e2eaf4;border-radius:5px;font-size:9px;margin:2px 3px 2px 0;color:#45536a}
.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.experience-list article{border:1px solid var(--line);border-radius:9px;padding:17px;background:var(--soft)}
.experience-list span,.cert-grid span{font-size:8px;color:var(--blue);font-weight:800;letter-spacing:.4px}
.experience-list h4{font:700 13px "Space Grotesk";margin:7px 0}.experience-list p{font-size:10.5px;color:var(--muted);margin:0}
.research{display:grid;grid-template-columns:60% 40%;gap:40px;border-top:1px solid var(--line)}
.research>div>p{font-size:11.5px;color:var(--muted)}
.research-topic{border-left:3px solid var(--blue);padding:10px 14px;background:var(--soft);margin-top:16px}.research-topic b{display:block;color:var(--blue);font-size:10px;margin-bottom:4px}.research-topic span{font-size:10.5px;font-weight:600}
.research-links{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap}.research-links a{font-size:10px;font-weight:800;color:var(--blue)}
.research-points{display:grid;gap:9px}.research-points div{border:1px solid var(--line);border-radius:8px;padding:14px}.research-points b{display:block;font:700 11px "Space Grotesk";margin-bottom:4px}.research-points span{font-size:9.5px;color:var(--muted)}
.dark-band{background:#061a3b;color:#fff}.section-inner{max-width:1155px;margin:auto;padding:42px 18px}.dark-band h3{font:700 24px "Space Grotesk";margin:0 0 9px}.dark-band p{font-size:11.5px;color:#d6e1f1;max-width:680px}.teaching-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.teaching-grid div{border:1px solid #244267;background:#0c2448;border-radius:8px;padding:14px}.teaching-grid b{display:block;font:700 11px "Space Grotesk";margin-bottom:4px}.teaching-grid span{font-size:9px;color:#bcd0ea}
.edu{display:grid;grid-template-columns:22% repeat(4,1fr);gap:10px;align-items:stretch}.edu-intro{font-size:10px;color:#667386;max-width:210px}.edu-card{border:1px solid var(--line);border-radius:9px;padding:14px;display:flex;gap:10px;min-height:170px}.edu-logo,.cert-logo{width:46px;height:46px;flex:none;border-radius:9px;display:grid;place-items:center;font:800 9px "Space Grotesk";background:#f1f5fa;color:#13294b;border:1px solid #e2eaf4}.edu-logo.iicut{background:#edf4ff;color:#1c5ecb}.edu-logo.ljmu{background:#071b3a;color:#fff}.edu-logo.amity{background:linear-gradient(145deg,#071b3a,#c59b34);color:#fff}.edu-logo.iiitb{background:#e9f0f8;color:#14519a}.edu-status{display:block;font-size:8px;color:var(--blue);font-weight:800;margin-bottom:5px}.edu-card h4{font:700 11px "Space Grotesk";margin:0 0 4px}.edu-card p,.edu-card small{font-size:9px;color:var(--muted);margin:0}.edu-card small{display:block;margin-top:7px}
.cert{border-top:1px solid var(--line)}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.cert-grid article{border:1px solid var(--line);border-radius:9px;padding:14px;display:flex;gap:10px;min-height:100px}.cert-logo.cisco{background:#eef8ff;color:#0496d7}.cert-logo.microsoft{background:#f1f7ff;color:#1570d8}.cert-logo.iiitb{background:#edf4fa;color:#13549a}.cert-logo.ai{background:#071b3a;color:#fff}.cert-logo.oracle{background:#fff0f0;color:#c74634}.cert-logo.ibm{background:#edf4ff;color:#1261b8}.cert-logo.niit{background:#eef4ff;color:#1b58a8}.cert-grid span{display:block}.cert-grid h4{font:700 10.5px "Space Grotesk";margin:5px 0 3px}.cert-grid p{font-size:9px;color:var(--muted);margin:0}
.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:13px 0}.faq summary{cursor:pointer;font:700 11px "Space Grotesk"}.faq details p{font-size:10px;color:var(--muted);max-width:820px;margin:8px 0 0}
@media(max-width:1000px){.skill-groups,.experience-list{grid-template-columns:repeat(2,1fr)}.research{grid-template-columns:1fr}.teaching-grid{grid-template-columns:repeat(2,1fr)}.edu{grid-template-columns:1fr 1fr}.edu>div:first-child{grid-column:1/-1}.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.skill-groups,.experience-list,.teaching-grid,.edu,.cert-grid{grid-template-columns:1fr}.edu>div:first-child{grid-column:auto}.research-links{gap:10px}}

/* Accessibility / readability pass: slightly larger typography */
body{font-size:13px}
.hero-copy .lead{font-size:13px;line-height:1.7;max-width:570px}
.hero-copy h2{font-size:16px}
.socials a{font-size:11.5px}
.eyebrow,.section-kicker{font-size:10.5px}
.about-text p,.about-text li{font-size:12px;line-height:1.65}
.about-text h3{font-size:22px}
.service-grid h4{font-size:13px}
.service-grid p{font-size:11.5px;line-height:1.55}
.skill-groups b{font-size:12px}
.skill-groups span{font-size:10.5px;padding:6px 8px}
.experience-list h4{font-size:14px}
.experience-list p{font-size:11.5px;line-height:1.6}
.experience-list span,.cert-grid span{font-size:9px}
.project-grid h4{font-size:12.5px}
.project-grid p{font-size:10.5px;line-height:1.55}
.tags span{font-size:9.5px}
.research>div>p{font-size:12.5px;line-height:1.65}
.research-topic b{font-size:10.5px}
.research-topic span{font-size:11.5px;line-height:1.5}
.research-points b{font-size:12px}
.research-points span{font-size:10.5px;line-height:1.5}
.dark-band p{font-size:12.5px;line-height:1.65}
.teaching-grid b{font-size:12px}
.teaching-grid span{font-size:10.5px}
.edu-intro{font-size:11px;line-height:1.55}
.edu-status{font-size:9px}
.edu-card h4{font-size:12px}
.edu-card p,.edu-card small{font-size:10px;line-height:1.5}
.cert-grid h4{font-size:11.5px}
.cert-grid p{font-size:10px;line-height:1.5}
.faq summary{font-size:12px}
.faq details p{font-size:11px;line-height:1.6}
.contact p{font-size:12px;line-height:1.6}
.stats strong{font-size:25px}
.stats span{font-size:10.5px;line-height:1.45}

/* Final readability increase — modest, not oversized */
body{font-size:14px}
.hero-copy .lead{font-size:14px;line-height:1.75}
.hero-copy h2{font-size:17px}
.socials a{font-size:12px}
.eyebrow,.section-kicker{font-size:11px}
.about-text p,.about-text li{font-size:13px;line-height:1.7}
.about-text h3{font-size:23px}
.service-grid h4{font-size:14px}
.service-grid p{font-size:12px;line-height:1.6}
.skill-groups b{font-size:12.5px}
.skill-groups span{font-size:11px}
.experience-list h4{font-size:15px}
.experience-list p{font-size:12px;line-height:1.65}
.experience-list span,.cert-grid span{font-size:9.5px}
.project-grid h4{font-size:13px}
.project-grid p{font-size:11.5px;line-height:1.6}
.tags span{font-size:10px}
.research>div>p{font-size:13px;line-height:1.7}
.research-topic b{font-size:11px}
.research-topic span{font-size:12px;line-height:1.55}
.research-points b{font-size:12.5px}
.research-points span{font-size:11px;line-height:1.55}
.dark-band p{font-size:13px;line-height:1.7}
.teaching-grid b{font-size:12.5px}
.teaching-grid span{font-size:11px}
.edu-intro{font-size:11.5px;line-height:1.6}
.edu-status{font-size:9.5px}
.edu-card h4{font-size:12.5px}
.edu-card p,.edu-card small{font-size:10.5px;line-height:1.55}
.cert-grid h4{font-size:12px}
.cert-grid p{font-size:10.5px;line-height:1.55}
.faq summary{font-size:12.5px}
.faq details p{font-size:11.5px;line-height:1.65}
.contact p{font-size:13px;line-height:1.65}
.stats strong{font-size:26px}
.stats span{font-size:11px;line-height:1.5}


/* ===== Enhanced premium footer / site-wide polish ===== */
#top{scroll-margin-top:100px}
.enhanced-footer{position:relative;overflow:hidden;background:#07111f;color:#eef4ff;margin-top:72px;border-top:1px solid rgba(255,255,255,.10)}
.enhanced-footer .footer-glow{position:absolute;inset:auto -10% -45% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(72,144,255,.16),transparent 66%);pointer-events:none}
.enhanced-footer .premium-footer{position:relative;max-width:1180px;margin:0 auto;padding:42px 24px 18px}
.footer-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.10)}
.footer-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:#9fb6d4}
.footer-top{color:#fff!important;text-decoration:none!important;font-size:.82rem;font-weight:700;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.footer-top:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.28)}
.enhanced-footer .premium-footer-grid{display:grid;grid-template-columns:minmax(260px,1.65fr) repeat(3,minmax(130px,1fr));gap:42px;align-items:start}
.enhanced-footer .footer-brand-col{max-width:430px}
.enhanced-footer .footer-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;margin-bottom:18px;background:linear-gradient(135deg,#ffffff,#bcd5ff);color:#07111f;font-weight:900;letter-spacing:.04em;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.enhanced-footer h2{margin:0 0 10px;color:#fff;font-size:1.28rem;letter-spacing:-.02em}
.enhanced-footer h3{margin:4px 0 15px;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.enhanced-footer p{margin:0;color:#aebdd0;line-height:1.75;font-size:.9rem}
.enhanced-footer a{display:block;width:max-content;max-width:100%;color:#b9c9dc;text-decoration:none;margin:0 0 11px;font-size:.88rem;transition:color .2s ease,transform .2s ease}
.enhanced-footer a:hover{color:#fff;transform:translateX(3px)}
.footer-focus{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.footer-focus span{font-size:.68rem;color:#c6d4e5;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.035)}
.enhanced-footer .premium-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);color:#8194ab;font-size:.72rem}
.toc-container{margin:0 0 34px;padding:24px 26px;border:1px solid rgba(100,130,170,.22);border-radius:18px;background:linear-gradient(180deg,rgba(245,249,255,.96),rgba(238,245,253,.86));box-shadow:0 12px 34px rgba(20,40,70,.07)}
.toc-container h3{margin:0 0 12px;font-size:1rem}.toc-list{margin:0;padding-left:20px}.toc-list li{margin:7px 0}.toc-list a{color:inherit;text-decoration:none}.toc-list a:hover{text-decoration:underline}
@media(max-width:800px){.enhanced-footer .premium-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.enhanced-footer .footer-brand-col{grid-column:1/-1}.footer-topline{align-items:flex-start;flex-direction:column}.enhanced-footer .premium-footer-bottom{flex-direction:column}}
@media(max-width:520px){.enhanced-footer .premium-footer-grid{grid-template-columns:1fr}.enhanced-footer .footer-brand-col{grid-column:auto}.enhanced-footer .premium-footer{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.enhanced-footer a,.footer-top{transition:none!important}.enhanced-footer a:hover,.footer-top:hover{transform:none}}


/* INDEX.HTML */

/* Homepage motion system */
.reveal-on-scroll{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.is-visible{opacity:1;transform:none}.hero-animate{animation:heroIn .9s cubic-bezier(.16,1,.3,1) both}.float-soft{animation:floatSoft 5s ease-in-out infinite}@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes floatSoft{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Premium shared footer */
.site-footer,.footer{margin-top:90px!important;background:#0b1020!important;color:#cbd5e1!important;border-top:1px solid rgba(255,255,255,.08)!important;text-align:left!important;padding:0!important}.premium-footer{width:min(calc(100% - 40px),1220px);margin:auto;padding:58px 0 24px}.premium-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}.premium-footer h2,.premium-footer h3{color:#fff;margin:0 0 14px;font-family:'Space Grotesk',sans-serif}.premium-footer h2{font-size:22px}.premium-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.premium-footer p,.premium-footer a{font-size:13px;line-height:1.75;color:#aeb8cc}.premium-footer a{display:block;margin:7px 0;transition:color .2s,transform .2s}.premium-footer a:hover{color:#fff;transform:translateX(3px)}.footer-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(95deg,#eb2885,#7038ea,#00a2ff);color:#fff;font:800 13px 'Space Grotesk';margin-bottom:15px}.premium-footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8290aa}.premium-footer-bottom span:last-child{text-align:right}@media(max-width:800px){.premium-footer-grid{grid-template-columns:1fr 1fr}.premium-footer-bottom{flex-direction:column}.premium-footer-bottom span:last-child{text-align:left}}@media(max-width:520px){.premium-footer-grid{grid-template-columns:1fr}}



/* ============================================================
   VSN — SHARED PUBLICATION / ARTICLE SYSTEM
   One geometry, one responsive grid, one motion language.
   ============================================================ */
:root{
  --site-max:1220px;
  --article-max:900px;
  --gutter:clamp(18px,3vw,32px);
  --page:#f7f9fd;
  --surface:#ffffff;
  --ink:#0d1424;
  --muted:#667085;
  --line:#e5e9f1;
  --purple:#7038ea;
  --pink:#eb2885;
  --blue:#2868df;
  --cyan:#00a2ff;
  --dark:#071326;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-width:320px;overflow-x:hidden;background:var(--page);color:var(--ink)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}

/* ---------- Shared header ---------- */
.site-header{position:sticky!important;top:0;z-index:1000;width:100%;height:78px!important;padding:0!important;background:rgba(255,255,255,.95)!important;border-bottom:1px solid var(--line)!important;backdrop-filter:blur(18px)}
.site-header .nav-wrap{width:min(calc(100% - 48px),var(--site-max))!important;height:78px!important;margin:auto!important;padding:0!important;display:flex!important;align-items:center!important;gap:22px!important}
.brand{display:flex!important;align-items:center!important;gap:12px!important;margin-right:auto!important;white-space:nowrap!important;color:var(--ink)!important}
.brand-mark{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:13px!important;background:linear-gradient(135deg,#0b1f43,#1c3e73)!important;display:grid!important;place-items:center!important;color:#fff!important;font:800 13px/1 'Space Grotesk',sans-serif!important;box-shadow:0 8px 22px rgba(10,30,65,.12)!important}
.brand-name{font:700 16px/1.2 'Space Grotesk',sans-serif!important}
.site-header .nav{display:flex!important;align-items:center!important;height:100%!important;gap:0!important;white-space:nowrap!important}
.site-header .nav a{display:block!important;position:relative!important;padding:31px 10px 28px!important;color:#384257!important;font:600 12.5px/1 'Plus Jakarta Sans',sans-serif!important}
.site-header .nav a:hover,.site-header .nav a.active{color:var(--blue)!important}
.site-header .nav a.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--blue);border-radius:2px}
.cv-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;margin-left:4px!important;padding:13px 17px!important;border-radius:9px!important;background:var(--blue)!important;color:#fff!important;font:800 12px/1 'Plus Jakarta Sans',sans-serif!important;box-shadow:0 10px 22px rgba(40,104,223,.18)!important;transition:transform .25s var(--ease),box-shadow .25s ease!important}
.cv-btn:hover{transform:translateY(-2px)!important;box-shadow:0 14px 28px rgba(40,104,223,.25)!important}
.mobile-toggle{display:none!important}
.mobile-nav{display:none}

/* ---------- Shared geometry ---------- */
.container{width:min(calc(100% - 48px),var(--site-max));margin-inline:auto}
.article-width{width:min(calc(100% - 48px),var(--article-max));margin-inline:auto}

/* ---------- Blog index ---------- */
.blog-index-main{padding-bottom:0!important}
.blog-index-main>.breadcrumbs{width:min(calc(100% - 48px),var(--site-max));margin:0 auto!important;padding:28px 0 0!important;font:600 12px/1.5 'Plus Jakarta Sans',sans-serif!important;color:var(--muted)!important}
.blog-index-main>.breadcrumbs a{color:var(--purple)!important}
.page-hero{padding:46px 0 44px!important;text-align:center}
.page-hero>.container{width:min(calc(100% - 48px),var(--site-max));margin:auto}
.page-hero .eyebrow{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;max-width:100%!important;margin:0 auto 14px!important;padding:6px 13px!important;border:1px solid rgba(235,40,133,.18)!important;border-radius:999px!important;background:#fff0f7!important;color:var(--pink)!important;font:800 10px/1.2 'Space Grotesk',sans-serif!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.page-hero h1{max-width:1000px!important;margin:0 auto 12px!important;font:800 clamp(36px,5vw,58px)/1.08 'Space Grotesk',sans-serif!important;letter-spacing:-.035em!important}
.gradient-text{background:linear-gradient(120deg,#eb2885 0%,#7038ea 45%,#0098bd 80%,#029b74 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.publication-count{margin:0 0 8px!important;font:600 14px/1.5 'Plus Jakarta Sans',sans-serif!important;color:#30384a!important}
.page-hero p{max-width:720px!important;margin:0 auto!important;color:var(--muted)!important;font:500 15px/1.7 'Plus Jakarta Sans',sans-serif!important}
.blog-banner{width:min(calc(100% - 48px),var(--site-max))!important;margin:0 auto 34px!important;padding:32px!important;border-radius:26px!important;overflow:hidden!important;background:linear-gradient(135deg,#0d0a1a,#20123f,#071c3d)!important;border:1px solid rgba(235,40,133,.22)!important;box-shadow:0 20px 52px rgba(35,30,90,.14)!important}
.blog-banner .bb-title{margin:0 0 20px!important;text-align:center!important;color:#00e5ff!important;font:800 11px/1.4 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.blog-banner svg{display:block;width:100%;height:auto}
.blog-grid{width:min(calc(100% - 48px),var(--site-max))!important;margin:0 auto!important;padding:0 0 72px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important;align-items:stretch!important}
.blog-card{width:100%!important;min-width:0!important;min-height:650px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;margin:0!important;padding:0!important;border:1px solid #e1e6ef!important;border-radius:24px!important;background:#fff!important;box-shadow:0 14px 38px rgba(23,32,65,.07)!important;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s ease!important}
.blog-card:hover{transform:translateY(-6px)!important;border-color:#d4c5fa!important;box-shadow:0 24px 52px rgba(23,32,65,.13)!important}
.blog-card-cover{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/630!important;object-fit:cover!important;object-position:center!important;flex:0 0 auto!important}
.blog-card>div{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-width:0!important;padding:24px 28px 0!important}
.blog-card .blog-meta{margin:0 0 11px!important;color:var(--pink)!important;font:800 10px/1.35 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.blog-card h2{margin:0 0 12px!important;color:var(--ink)!important;font:800 clamp(21px,2vw,27px)/1.28 'Space Grotesk',sans-serif!important;letter-spacing:-.015em!important;overflow-wrap:anywhere!important}
.blog-card p{margin:0!important;color:var(--muted)!important;font:500 14px/1.72 'Plus Jakarta Sans',sans-serif!important}
.blog-card .read-more{width:max-content!important;margin:auto 28px 28px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;color:var(--purple)!important;font:800 12px/1.2 'Space Grotesk',sans-serif!important;transition:transform .2s ease,color .2s ease!important}
.blog-card .read-more:hover{transform:translateX(4px)!important;color:#5126c5!important}

/* ---------- Article pages: identical geometry ---------- */
.article-page-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.article-hero{width:100%!important;margin:0!important;padding:36px 0 26px!important;text-align:center!important;background:transparent!important}
.article-breadcrumbs{width:min(calc(100% - 48px),var(--article-max));margin:0 auto 18px!important;text-align:left!important}
.article-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 9px;margin:0;padding:0;list-style:none;color:#778297;font:600 11.5px/1.5 'Plus Jakarta Sans',sans-serif}
.article-breadcrumbs li:not(:last-child):after{content:"/";margin-left:9px;color:#aab2c0}
.article-breadcrumbs a{color:var(--purple)}
.article-hero-copy{width:min(calc(100% - 48px),var(--article-max));margin:0 auto}
.article-hero-copy .eyebrow{display:inline-flex!important;width:max-content!important;max-width:100%!important;margin:0 auto 13px!important;padding:6px 12px!important;border:1px solid rgba(235,40,133,.18)!important;border-radius:999px!important;background:#fff0f7!important;color:var(--pink)!important;font:800 10px/1.25 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.article-hero-copy h1{max-width:900px!important;margin:0 auto 12px!important;color:var(--ink)!important;font:800 clamp(34px,4.5vw,52px)/1.1 'Space Grotesk',sans-serif!important;letter-spacing:-.03em!important;overflow-wrap:anywhere!important}
.article-subtitle{max-width:720px!important;margin:0 auto 12px!important;color:var(--muted)!important;font:500 15px/1.7 'Plus Jakarta Sans',sans-serif!important}
.article-meta{width:100%!important;margin:0 auto!important;padding:0!important;border:0!important;display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 14px!important;color:#738096!important;font:500 11.5px/1.6 'Plus Jakarta Sans',sans-serif!important}
.article-meta span,.article-meta a{display:inline-flex!important;align-items:center!important}
.article-meta a{color:var(--purple)!important;font-weight:800!important}
.article-cover{width:min(calc(100% - 48px),var(--article-max));margin:24px auto 0!important}
.article-cover img{display:block!important;width:100%!important;aspect-ratio:1200/630!important;object-fit:cover!important;border-radius:22px!important;box-shadow:0 18px 50px rgba(18,27,56,.12)!important}
.article-cover figcaption{margin-top:8px!important;color:#7b8799!important;font:500 10.5px/1.4 'Plus Jakarta Sans',sans-serif!important}
.infographic-banner{width:min(calc(100% - 48px),var(--article-max));margin:22px auto 0!important;padding:24px!important;border-radius:20px!important;background:linear-gradient(135deg,#0b1530,#20154b)!important;color:#fff!important;border:1px solid rgba(0,162,255,.22)!important;box-shadow:0 18px 45px rgba(30,32,90,.14)!important}
.ib-title{margin:0 0 14px!important;color:#72ddff!important;font:800 11px/1.4 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;display:flex!important;align-items:center!important;gap:8px!important}
.ib-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.ib-col{min-width:0!important;padding:17px 12px!important;text-align:center!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important}
.ib-col b{display:block!important;margin:0 0 4px!important;color:#fff!important;font:800 22px/1.15 'Space Grotesk',sans-serif!important;overflow-wrap:anywhere!important}
.ib-col span{display:block!important;color:#c7d2fe!important;font:500 10px/1.45 'Plus Jakarta Sans',sans-serif!important}

/* ---------- Article body ---------- */
.article-container{width:100%!important;margin:0!important;padding:0 0 10px!important}
.article-body{width:min(calc(100% - 48px),var(--article-max))!important;margin-inline:auto!important}
.content{width:100%!important;margin:0!important;padding:0!important;color:#465166!important;font:500 15.5px/1.82 'Plus Jakarta Sans',sans-serif!important}
.content>*:first-child{margin-top:0!important}
.content h2{margin:42px 0 14px!important;color:var(--ink)!important;font:800 clamp(24px,3vw,31px)/1.25 'Space Grotesk',sans-serif!important;letter-spacing:-.015em!important;scroll-margin-top:100px!important}
.content h3{margin:28px 0 10px!important;color:var(--ink)!important;font:800 19px/1.35 'Space Grotesk',sans-serif!important;scroll-margin-top:100px!important}
.content p{margin:0 0 18px!important;color:#465166!important;font:500 15.5px/1.82 'Plus Jakarta Sans',sans-serif!important}
.content ul,.content ol{margin:0 0 22px!important;padding-left:1.35rem!important;color:#465166!important}
.content li{margin:7px 0!important;padding-left:2px!important}
.content strong{color:#253149}
.content a{color:var(--purple);font-weight:700}
.content pre,.content .code-box{max-width:100%!important;margin:22px 0!important;padding:20px!important;overflow:auto!important;border-radius:14px!important;background:#0b1222!important;color:#e9efff!important;font:500 12.5px/1.7 'JetBrains Mono',monospace!important;box-shadow:0 12px 30px rgba(8,17,35,.12)!important}
.content table{width:100%!important;max-width:100%!important;margin:22px 0 28px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;background:#fff!important;border:1px solid #e3e7ef!important;border-radius:14px!important;box-shadow:0 10px 28px rgba(20,30,60,.05)!important;font-size:13px!important}
.content th,.content td{padding:12px 13px!important;border-right:1px solid #e3e7ef!important;border-bottom:1px solid #e3e7ef!important;text-align:left!important;vertical-align:top!important}
.content tr:last-child td{border-bottom:0!important}.content th:last-child,.content td:last-child{border-right:0!important}
.content th{background:#f5f7fb!important;color:#172034!important;font-weight:800!important}
.content .quick-answer{margin:0 0 30px!important;padding:20px 22px!important;border:1px solid rgba(112,56,234,.18)!important;border-left:5px solid var(--purple)!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#f8f4ff)!important;box-shadow:0 10px 30px rgba(112,56,234,.06)!important}
.content .quick-answer .qa-label{display:block!important;margin:0 0 7px!important;color:var(--purple)!important;font:800 10px/1.3 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.content .quick-answer p{margin:0!important;color:#253149!important;font-size:14px!important;line-height:1.75!important}
.content .takeaways,.content .aeo-takeaways-box{margin:0 0 30px!important;padding:22px 24px!important;border:1px solid #e0e6ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 30px rgba(20,30,60,.05)!important}
.content .takeaways .tk-label{display:block!important;margin-bottom:8px!important;color:var(--purple)!important;font:800 10px/1.3 'Space Grotesk',sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.content .aeo-takeaways-box h3{margin:0 0 12px!important;font:800 18px/1.35 'Space Grotesk',sans-serif!important}
.content .takeaways ul,.content .aeo-takeaways-box ul{margin:0!important;padding-left:1.25rem!important}
.content .takeaways li,.content .aeo-takeaways-box li{margin:7px 0!important;font-size:14px!important;line-height:1.7!important}
.svg-infographic{width:100%!important;margin:26px 0!important;padding:22px!important;background:#fff!important;border:1px solid #e1e7f0!important;border-radius:18px!important;box-shadow:0 10px 30px rgba(20,30,60,.05)!important;overflow:hidden!important}
.svg-infographic svg{display:block!important;width:100%!important;height:auto!important}
.svg-infographic .svg-cap{margin-top:9px!important;text-align:center!important;color:#748097!important;font:600 10.5px/1.45 'Plus Jakarta Sans',sans-serif!important}
.toc-container{width:100%!important;margin:28px 0 34px!important;padding:22px 24px!important;border:1px solid #e0e6ef!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#f8faff)!important;box-shadow:0 10px 30px rgba(20,30,60,.05)!important}
.toc-container h3{margin:0 0 10px!important;color:var(--ink)!important;font:800 17px/1.35 'Space Grotesk',sans-serif!important}
.toc-container ol,.toc-container .toc-list{margin:0!important;padding-left:1.25rem!important}
.toc-container li{margin:6px 0!important;color:#465166!important;font:600 12.5px/1.55 'Plus Jakarta Sans',sans-serif!important}
.toc-container a{color:var(--purple)!important}
.faq-list{display:grid!important;gap:11px!important;margin:22px 0!important}
.faq-item{margin:0!important;padding:17px 19px!important;border:1px solid #e1e7ef!important;border-radius:14px!important;background:#fff!important;box-shadow:0 7px 22px rgba(20,30,60,.035)!important}
.faq-item h3,.faq-item h4{margin:0 0 6px!important;color:var(--ink)!important;font:800 15px/1.4 'Space Grotesk',sans-serif!important}
.faq-item p{margin:0!important;color:var(--muted)!important;font:500 13.5px/1.7 'Plus Jakarta Sans',sans-serif!important}
.step-list{margin:0 0 22px!important;padding:0!important;list-style:none!important;counter-reset:step!important}
.step-list li{counter-increment:step!important;position:relative!important;margin:0 0 14px!important;padding-left:42px!important;color:#465166!important}
.step-list li:before{content:counter(step)!important;position:absolute!important;left:0!important;top:0!important;width:28px!important;height:28px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,var(--pink),var(--purple),var(--cyan))!important;color:#fff!important;font:800 12px/1 'Space Grotesk',sans-serif!important}
.pitfall-list{margin:0 0 22px!important;padding:0!important;list-style:none!important}
.pitfall-list li{position:relative!important;margin:0 0 13px!important;padding-left:28px!important}
.pitfall-list li:before{content:"⚠"!important;position:absolute!important;left:0!important;top:0!important;color:var(--pink)!important}
.decision-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:24px 0!important}
.decision-card{min-width:0!important;padding:18px!important;border:1px solid #e1e7ef!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 24px rgba(20,30,60,.045)!important}
.decision-card b{display:block!important;margin-bottom:6px!important;color:var(--purple)!important;font:800 14px/1.35 'Space Grotesk',sans-serif!important}
.decision-card p{margin:0!important;font-size:13px!important;line-height:1.6!important}
.related-articles{width:100%!important;margin:58px 0 0!important;padding:48px 0 0!important;border-top:1px solid var(--line)!important}
.related-articles>.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.related-articles h2{margin-top:0!important}
.related-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.related-card{min-width:0!important;min-height:145px!important;padding:19px!important;display:flex!important;flex-direction:column!important;border:1px solid #e1e7ef!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 24px rgba(20,30,60,.045)!important;transition:transform .25s var(--ease),box-shadow .25s ease!important}
.related-card:hover{transform:translateY(-4px)!important;box-shadow:0 14px 30px rgba(20,30,60,.08)!important}
.related-card strong{margin:6px 0 auto!important;color:var(--ink)!important;font:800 15px/1.35 'Space Grotesk',sans-serif!important}
.related-card span,.related-card em{font:700 9.5px/1.4 'Plus Jakarta Sans',sans-serif!important;color:var(--muted)!important;font-style:normal!important;text-transform:uppercase!important;letter-spacing:.05em!important}

/* ---------- Floating controls ---------- */
.scroll-progress{position:fixed!important;top:78px!important;left:0!important;right:0!important;height:2px!important;z-index:1001!important;background:transparent!important;pointer-events:none!important}
.scroll-progress span{display:block!important;width:0;height:100%;background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan))!important;transition:width .08s linear!important}
.back-to-top{position:fixed!important;right:24px!important;bottom:24px!important;z-index:900!important;width:42px!important;height:42px!important;border:1px solid rgba(112,56,234,.2)!important;border-radius:50%!important;background:#fff!important;color:var(--purple)!important;box-shadow:0 12px 30px rgba(20,30,60,.14)!important;font:800 18px/1 'Space Grotesk',sans-serif!important;cursor:pointer!important;opacity:0!important;visibility:hidden!important;transform:translateY(10px)!important;transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important}
.back-to-top.show{opacity:1!important;visibility:visible!important;transform:none!important}
.whatsapp-float{position:fixed!important;right:24px!important;bottom:78px!important;z-index:900!important;width:42px!important;height:42px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#19b86b!important;color:#fff!important;font:800 9px/1 'Plus Jakarta Sans',sans-serif!important;box-shadow:0 12px 30px rgba(25,184,107,.24)!important;transition:transform .2s ease!important}
.whatsapp-float:hover{transform:translateY(-3px)!important}

/* ---------- Shared premium footer ---------- */
.site-footer{position:relative!important;width:100%!important;margin:72px 0 0!important;padding:0!important;background:#071326!important;color:#cbd5e1!important;border-top:1px solid rgba(255,255,255,.08)!important;text-align:left!important;overflow:hidden!important}
.footer-glow{position:absolute!important;right:-12%!important;bottom:-48%!important;width:520px!important;height:520px!important;border-radius:50%!important;background:radial-gradient(circle,rgba(72,144,255,.16),transparent 66%)!important;pointer-events:none!important}
.premium-footer{position:relative!important;width:min(calc(100% - 48px),var(--site-max))!important;margin:0 auto!important;padding:52px 0 20px!important}
.footer-topline{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding-bottom:20px!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.footer-eyebrow{color:#72ddff!important;font:800 10px/1.4 'Space Grotesk',sans-serif!important;letter-spacing:.11em!important}
.footer-top{display:inline-flex!important;align-items:center!important;color:#b8c4d6!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:999px!important;padding:8px 11px!important;font:700 10px/1 'Plus Jakarta Sans',sans-serif!important;transition:transform .2s ease,background .2s ease!important}
.footer-top:hover{transform:translateY(-2px)!important;background:rgba(255,255,255,.06)!important}
.premium-footer-grid{display:grid!important;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,1fr))!important;gap:40px!important;padding:32px 0 0!important;align-items:start!important}
.premium-footer h2{margin:0 0 9px!important;color:#fff!important;font:800 21px/1.25 'Space Grotesk',sans-serif!important}
.premium-footer h3{margin:4px 0 13px!important;color:#fff!important;font:800 10px/1.3 'Space Grotesk',sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.premium-footer p,.premium-footer a{color:#9eabc0!important;font:500 11.5px/1.7 'Plus Jakarta Sans',sans-serif!important}
.premium-footer p{margin:0!important;max-width:440px!important}
.premium-footer a{display:block!important;width:max-content!important;max-width:100%!important;margin:0 0 8px!important;transition:color .2s ease,transform .2s ease!important}
.premium-footer a:hover{color:#fff!important;transform:translateX(3px)!important}
.footer-mark{width:48px!important;height:48px!important;margin-bottom:14px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#eb2885,#7038ea,#00a2ff)!important;color:#fff!important;font:800 13px/1 'Space Grotesk',sans-serif!important;box-shadow:0 10px 26px rgba(0,0,0,.2)!important}
.footer-focus{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:14px!important}
.footer-focus span{padding:5px 8px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;color:#aebbd0!important;background:rgba(255,255,255,.035)!important;font:700 8.5px/1 'Plus Jakarta Sans',sans-serif!important}
.premium-footer-bottom{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:18px!important;margin-top:28px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.08)!important;color:#71819a!important;font:500 9.5px/1.5 'Plus Jakarta Sans',sans-serif!important}
.premium-footer-bottom span:nth-child(2){text-align:center!important}.premium-footer-bottom span:last-child{text-align:right!important}

/* ---------- Motion ---------- */
.reveal,.reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.is-visible,.reveal-on-scroll.is-visible{opacity:1;transform:none}
.article-cover.reveal-on-scroll.is-visible{animation:cover-in .7s var(--ease) both}
@keyframes cover-in{from{opacity:.2;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes nav-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.site-header{animation:nav-in .55s var(--ease) both}
.blog-card:nth-child(1){transition-delay:.02s}.blog-card:nth-child(2){transition-delay:.08s}.blog-card:nth-child(3){transition-delay:.14s}.blog-card:nth-child(4){transition-delay:.20s}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .site-header .nav{display:none!important}
  .site-header .mobile-toggle{display:flex!important;width:42px!important;height:42px!important;flex:0 0 42px!important;align-items:center!important;justify-content:center!important;border:1px solid #e1e5ee!important;border-radius:11px!important;background:#fff!important;cursor:pointer!important}
  .hamburger,.hamburger:before,.hamburger:after{display:block!important;width:18px!important;height:2px!important;border-radius:2px!important;background:#253149!important;transition:transform .25s ease,opacity .25s ease!important}
  .hamburger{position:relative!important}.hamburger:before,.hamburger:after{content:"";position:absolute!important;left:0!important}.hamburger:before{top:-6px!important}.hamburger:after{top:6px!important}
  .mobile-nav{position:absolute!important;top:calc(100% + 8px)!important;left:24px!important;right:24px!important;padding:8px!important;background:#fff!important;border:1px solid #e1e5ee!important;border-radius:16px!important;box-shadow:0 18px 45px rgba(22,25,60,.14)!important}
  .mobile-nav.is-open{display:grid!important}
  .mobile-nav a{display:block!important;padding:11px 13px!important;border-radius:9px!important;color:#30384b!important;font:700 12.5px/1.2 'Plus Jakarta Sans',sans-serif!important}
  .mobile-nav a.active,.mobile-nav a:hover{background:#f5f1ff!important;color:var(--purple)!important}
  .premium-footer-grid{grid-template-columns:1.5fr 1fr 1fr!important}
}
@media(max-width:900px){
  .blog-grid{grid-template-columns:1fr!important}
  .blog-card{min-height:0!important}
  .related-grid{grid-template-columns:1fr 1fr!important}
  .decision-grid{grid-template-columns:1fr 1fr!important}
  .premium-footer-grid{grid-template-columns:1fr 1fr!important}
  .premium-footer-grid .footer-brand-col{grid-column:1/-1!important}
}
@media(max-width:700px){
  .site-header,.site-header .nav-wrap{height:68px!important;min-height:68px!important}
  .site-header .nav-wrap{width:calc(100% - 28px)!important}
  .brand-mark{width:42px!important;height:42px!important;flex-basis:42px!important}.brand-name{font-size:15px!important}
  .mobile-nav{left:14px!important;right:14px!important}.cv-btn{padding:11px 12px!important;font-size:11px!important}
  .container,.blog-grid,.blog-banner,.article-width,.article-breadcrumbs,.article-hero-copy,.article-cover,.infographic-banner,.blog-index-main>.breadcrumbs{width:calc(100% - 28px)!important}
  .blog-index-main>.breadcrumbs{padding-top:20px!important}
  .page-hero{padding:34px 0 38px!important}.page-hero h1{font-size:34px!important}.page-hero p{font-size:14px!important}
  .blog-banner{padding:18px!important;border-radius:18px!important}.blog-banner .bb-title{font-size:9px!important}
  .blog-card{border-radius:20px!important}.blog-card>div{padding:20px 20px 0!important}.blog-card .read-more{margin-left:20px!important;margin-right:20px!important;margin-bottom:20px!important}
  .article-hero{padding:28px 0 20px!important}.article-breadcrumbs{margin-bottom:15px!important}.article-breadcrumbs ol{font-size:10.5px!important}
  .article-hero-copy h1{font-size:clamp(30px,8vw,40px)!important}.article-subtitle{font-size:13.5px!important}.article-meta{font-size:10.5px!important}
  .article-cover{margin-top:19px!important}.article-cover img{border-radius:16px!important}.article-cover figcaption{font-size:9.5px!important}
  .infographic-banner{padding:18px!important;border-radius:16px!important}.ib-grid{grid-template-columns:1fr!important}.ib-col{padding:14px 10px!important}
  .content{font-size:15px!important;line-height:1.75!important}.content p{font-size:15px!important;line-height:1.75!important}.content h2{font-size:24px!important;margin-top:36px!important}.content h3{font-size:18px!important}
  .content table{display:block!important;overflow-x:auto!important;white-space:nowrap!important}.content th,.content td{padding:10px!important}
  .toc-container{padding:18px!important}.related-grid,.decision-grid{grid-template-columns:1fr!important}
  .premium-footer{width:calc(100% - 28px)!important}.premium-footer-grid{grid-template-columns:1fr 1fr!important;gap:24px!important}.premium-footer-bottom{grid-template-columns:1fr!important}.premium-footer-bottom span:nth-child(2),.premium-footer-bottom span:last-child{text-align:left!important}
  .back-to-top{right:14px!important;bottom:14px!important}.whatsapp-float{right:14px!important;bottom:66px!important}
}
@media(max-width:480px){
  .brand-name{display:block!important;font-size:14px!important}.cv-btn{display:none!important}.mobile-toggle{margin-left:auto!important}
  .premium-footer-grid{grid-template-columns:1fr!important}.footer-topline{align-items:flex-start!important;flex-direction:column!important}.footer-top{align-self:flex-start!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important;transform:none!important}
  .reveal,.reveal-on-scroll{opacity:1!important}
}


/* ============================================================
   VSN — VISUAL ENHANCEMENT PASS
   Icon colour system, publication cards, richer motion,
   footer socials, category accents. Additive — does not
   remove any earlier rule, only refines and extends.
   ============================================================ */

/* ---------- Icon badge system ---------- */
.icon-badge{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;transition:transform .35s var(--ease,cubic-bezier(.16,1,.3,1)),box-shadow .35s ease}
.icon-badge svg{width:22px;height:22px;display:block}
.icon-badge.c-blue{background:rgba(33,102,220,.10);color:#2166dc}
.icon-badge.c-purple{background:rgba(112,56,234,.10);color:#7038ea}
.icon-badge.c-pink{background:rgba(235,40,133,.10);color:#eb2885}
.icon-badge.c-cyan{background:rgba(8,145,178,.10);color:#0891b2}
.icon-badge.c-green{background:rgba(5,150,105,.10);color:#059669}
.icon-badge.on-dark{background:rgba(255,255,255,.09)}
.icon-badge.on-dark.c-blue{color:#7fb1ff}
.icon-badge.on-dark.c-purple{color:#c7abff}
.icon-badge.on-dark.c-pink{color:#ff8ec0}
.icon-badge.on-dark.c-cyan{color:#5fd9ff}
.icon-badge.on-dark.c-green{color:#5fe3a8}
.service-grid article:hover .icon-badge,
.project-grid article:hover .icon-badge,
.quick-grid article:hover .icon-badge{transform:scale(1.08) rotate(-3deg);box-shadow:0 10px 20px rgba(20,40,80,.14)}

/* Stats row: icon + stacked figure/label */
.stats{gap:0}
.stats>div{display:flex!important;align-items:center;gap:14px;grid-template-columns:none}
.stats .stat-text{display:flex;flex-direction:column;gap:2px}
.stats i{display:none}
.stats strong{font-size:26px}

/* Service grid icon replaces old glyph spacing */
.service-grid .icon-badge{margin-bottom:14px}
.project-grid .project-icon{background:transparent;padding:0}

/* Hero social row as coloured monogram badges */
.socials{align-items:center;flex-wrap:wrap;row-gap:12px}
.socials a{display:inline-flex;align-items:center;gap:9px;color:#33415a}
.social-badge{width:28px;height:28px;border-radius:9px;display:inline-grid;place-items:center;color:#fff;font:800 9.5px 'Space Grotesk',sans-serif;letter-spacing:.01em;flex:none;transition:transform .25s ease,box-shadow .25s ease}
.socials a:hover .social-badge{transform:translateY(-2px) scale(1.06);box-shadow:0 8px 16px rgba(20,40,80,.18)}
.social-badge.sb-linkedin{background:#0a66c2}
.social-badge.sb-github{background:linear-gradient(135deg,#24292f,#3a4148)}
.social-badge.sb-researchgate{background:#00ccbb;color:#083b36}
.social-badge.sb-scholar{background:#4285f4}
.social-badge.sb-orcid{background:#a6ce39;color:#213c05}
.social-badge.sb-email{background:#2166dc}
.social-badge svg{width:15px;height:15px}

/* ---------- Homepage publication preview cards (previously unstyled) ---------- */
.publications-preview{padding-top:10px}
.publications-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.publications-head h3{margin:0 0 6px}
.publications-head p{margin:0;color:var(--muted);font-size:12.5px;max-width:520px}
.publication-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.publication-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6ecf4;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,37,70,.06);transition:transform .32s var(--ease,cubic-bezier(.16,1,.3,1)),box-shadow .32s ease,border-color .32s ease}
.publication-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(20,37,70,.13);border-color:#d7e2f5}
.publication-card img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover}
.publication-card>div{padding:16px 17px 4px;display:flex;flex-direction:column;flex:1}
.publication-card span{display:block;margin-bottom:8px;color:var(--blue);font:800 9px "Space Grotesk";letter-spacing:.06em;text-transform:uppercase}
.publication-card h4{margin:0 0 8px;font:700 13.5px/1.35 "Space Grotesk"}
.publication-card p{margin:0;font-size:11px;line-height:1.55;color:#5b6779;flex:1}
.publication-card a{display:inline-flex;align-items:center;gap:6px;margin:12px 0 16px;color:var(--purple,#7038ea);font:800 10.5px "Space Grotesk";transition:transform .2s ease}
.publication-card a:hover{transform:translateX(3px)}
.publication-card.cat-lakehouse span{color:#7038ea}
.publication-card.cat-streaming span{color:#0891b2}
.publication-card.cat-spark span{color:#eb2885}
.publication-card.cat-flink span{color:#059669}
.publication-card:nth-child(1){transition-delay:.02s}.publication-card:nth-child(2){transition-delay:.08s}.publication-card:nth-child(3){transition-delay:.14s}.publication-card:nth-child(4){transition-delay:.20s}

/* ---------- Category colour accents shared: blog cards, article eyebrow ---------- */
.blog-card.cat-lakehouse .blog-meta{color:#7038ea!important}
.blog-card.cat-streaming .blog-meta{color:#0891b2!important}
.blog-card.cat-spark .blog-meta{color:#eb2885!important}
.blog-card.cat-flink .blog-meta{color:#059669!important}
.article-hero-copy.cat-lakehouse .eyebrow,.article-breadcrumbs+.article-hero-copy.cat-lakehouse .eyebrow{color:#7038ea!important;border-color:rgba(112,56,234,.22)!important;background:#f6f1ff!important}
.article-hero-copy.cat-streaming .eyebrow{color:#0891b2!important;border-color:rgba(8,145,178,.22)!important;background:#effaff!important}
.article-hero-copy.cat-spark .eyebrow{color:#eb2885!important;border-color:rgba(235,40,133,.18)!important;background:#fff0f7!important}
.article-hero-copy.cat-flink .eyebrow{color:#059669!important;border-color:rgba(5,150,105,.20)!important;background:#effdf6!important}

/* ---------- Richer hover motion across repeated card grids ---------- */
.service-grid article,.project-grid article,.experience-list article,.edu-card,.cert-grid article,.research-points>div,.skill-groups>div,.teaching-grid>div{transition:transform .3s var(--ease,cubic-bezier(.16,1,.3,1)),box-shadow .3s ease,border-color .3s ease}
.service-grid article:hover,.experience-list article:hover,.edu-card:hover,.cert-grid article:hover,.research-points>div:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(20,40,80,.10);border-color:#d7e2f5}
.project-grid article:hover{transform:translateY(-5px);border-color:#3a5c92;box-shadow:0 16px 34px rgba(4,12,30,.35)}
.teaching-grid>div:hover{transform:translateY(-4px);border-color:#33578c;background:#0e2a52}
.skill-groups>div:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(20,40,80,.08)}
.skill-groups span{transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.skill-groups span:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.faq details{transition:background .25s ease}
.faq details[open]{background:linear-gradient(180deg,#f8fbff,transparent)}
.faq summary{transition:color .2s ease}
.faq details:hover summary{color:var(--blue)}

/* Stagger entrance for repeated grids: each item carries .reveal-on-scroll
   itself (same proven pattern as .blog-card) — base opacity/transform and
   the .is-visible toggle already come from the shared reveal system, so
   items can never get stuck invisible if a wrapper section fails to fire. */
.service-grid article.reveal-on-scroll:nth-child(1),.project-grid article.reveal-on-scroll:nth-child(1),.experience-list article.reveal-on-scroll:nth-child(1),.cert-grid article.reveal-on-scroll:nth-child(1),.edu-card.reveal-on-scroll:nth-child(1),.publication-card.reveal-on-scroll:nth-child(1){transition-delay:.02s}
.service-grid article.reveal-on-scroll:nth-child(2),.project-grid article.reveal-on-scroll:nth-child(2),.experience-list article.reveal-on-scroll:nth-child(2),.cert-grid article.reveal-on-scroll:nth-child(2),.edu-card.reveal-on-scroll:nth-child(2),.publication-card.reveal-on-scroll:nth-child(2){transition-delay:.09s}
.service-grid article.reveal-on-scroll:nth-child(3),.project-grid article.reveal-on-scroll:nth-child(3),.experience-list article.reveal-on-scroll:nth-child(3),.cert-grid article.reveal-on-scroll:nth-child(3),.edu-card.reveal-on-scroll:nth-child(3),.publication-card.reveal-on-scroll:nth-child(3){transition-delay:.16s}
.service-grid article.reveal-on-scroll:nth-child(4),.project-grid article.reveal-on-scroll:nth-child(4),.cert-grid article.reveal-on-scroll:nth-child(4),.edu-card.reveal-on-scroll:nth-child(4),.publication-card.reveal-on-scroll:nth-child(4){transition-delay:.23s}

/* Hero polish: eyebrow pill + gentle photo float (scoped to homepage hero only,
   so it never collides with the blog/article eyebrow pill styles) */
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 10px;border-radius:999px;background:#eef4ff;border:1px solid #d9e6fb;font-weight:800;color:var(--blue)}
.hero .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(33,102,220,.18)}
.photo-card{animation:floatSoft 6.5s ease-in-out infinite}
.quote-card{animation:floatSoft 7.5s ease-in-out infinite reverse}
.hero h1,.hero-copy .eyebrow,.hero-copy h2,.hero-copy .lead,.hero-copy .actions,.hero-copy .socials{animation:heroIn .8s var(--ease,cubic-bezier(.16,1,.3,1)) both}
.hero-copy h2{animation-delay:.06s}.hero-copy .lead{animation-delay:.12s}.hero-copy .actions{animation-delay:.18s}.hero-copy .socials{animation-delay:.24s}
.hero-photo-area{animation:heroIn .9s var(--ease,cubic-bezier(.16,1,.3,1)) .1s both}
.primary,.secondary{transition:transform .25s var(--ease,cubic-bezier(.16,1,.3,1)),box-shadow .25s ease}
.primary:hover{transform:translateY(-2px);box-shadow:0 14px 26px #2166dc38}
.secondary:hover{transform:translateY(-2px);background:#f3f8ff}

/* ---------- Footer social row ---------- */
.footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.footer-social a{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;margin:0!important;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.footer-social a:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.footer-social svg{width:16px;height:16px;color:#dce6f7}

/* ---------- Contact CTA polish ---------- */
.contact-cta{position:relative;overflow:hidden;margin:44px auto 60px;max-width:1155px;border-top:0!important;background:linear-gradient(135deg,#f2f7ff,#eef3fe);border:1px solid #dde8f8;border-radius:22px;padding:42px 44px;box-shadow:0 22px 55px rgba(20,40,80,.08)}
.cta-orb{position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(33,102,220,.16),transparent 70%);pointer-events:none}
.cta-line{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d9e6fb,transparent)}
.contact-cta .primary{position:relative;padding:14px 22px;font-size:12.5px}
.contact-cta-copy .section-kicker{margin-bottom:10px}
.contact-cta-copy h3{font-size:22px}
.contact-cta-copy p{margin-top:6px;max-width:420px}
@media(max-width:700px){.contact-cta{display:block!important;padding:32px 26px}.contact-cta-action{margin-top:20px}}

/* ---------- Section reveal coverage (applies wherever reveal-on-scroll is added) ---------- */
.reveal-on-scroll{will-change:opacity,transform}

@media(max-width:1000px){
  .publication-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .publication-grid{grid-template-columns:1fr}
  .publications-head{align-items:flex-start}
  .stats>div{padding:14px 10px}
}
@media(prefers-reduced-motion:reduce){
  .photo-card,.quote-card,.hero h1,.hero-copy .eyebrow,.hero-copy h2,.hero-copy .lead,.hero-copy .actions,.hero-copy .socials,.hero-photo-area{animation:none!important}
  .service-grid article,.project-grid article,.experience-list article,.cert-grid article,.edu-card{opacity:1!important;transform:none!important}
}


/* ============================================================
   VSN — HOMEPAGE TYPOGRAPHY & BREATHING-ROOM PASS
   Brings homepage body copy up to the same reading size as the
   blog article body (15.5px/1.82 "Plus Jakarta Sans") and gives
   every section noticeably more vertical/inner spacing so the
   page reads as a set of distinct, breathable panels rather than
   a dense stack. Source-order in the cascade means these plain
   (non !important) rules safely win over the earlier, smaller
   sizing passes above.
   ============================================================ */

/* ---------- Base reading size ---------- */
body{font-size:15px;line-height:1.68}

/* ---------- Section breathing room ---------- */
.section{padding:66px 18px}
.about{gap:56px}
.about-text{padding-right:44px}
.about-text p,.about-text li{font-size:15px;line-height:1.8}
.about-text h3{font-size:30px;line-height:1.24;margin-bottom:16px}
.about ul{margin:20px 0}
.about li{font-size:14px;margin:9px 0}
.what{padding-left:4px}

.hero-copy .lead{font-size:16px;line-height:1.8;max-width:600px}
.hero-copy h2{font-size:18px}
.lead{font-size:16px;line-height:1.8}
.socials a{font-size:13px}
.eyebrow,.section-kicker{font-size:12px}

/* ---------- Service / What I Do cards ---------- */
.service-grid{gap:22px;margin-top:22px}
.service-grid article{padding:28px 24px;min-height:198px}
.service-grid h4{font-size:16.5px;margin:2px 0 10px}
.service-grid p{font-size:14.5px;line-height:1.7}

/* ---------- Skills ---------- */
.skills h3,.research h3,.edu h3,.cert h3,.faq h3{font-size:28px;margin-bottom:18px}
.skill-groups{gap:16px;margin-top:22px}
.skill-groups>div{padding:20px}
.skill-groups b{font-size:14px;margin-bottom:11px}
.skill-groups span{font-size:12.5px;padding:7px 10px;margin:3px 4px 3px 0}

/* ---------- Experience ---------- */
.experience-list{gap:20px}
.experience-list article{padding:24px}
.experience-list span,.cert-grid span{font-size:10.5px}
.experience-list h4{font-size:18px;margin:10px 0}
.experience-list p{font-size:14.5px;line-height:1.7}

/* ---------- Featured Projects (dark band) ---------- */
.featured{padding:30px 28px 26px;border-radius:16px}
.featured-head{margin-bottom:20px}
.featured-head h3{font-size:19px}
.featured-head a{font-size:12px}
.project-grid{gap:16px}
.project-grid article{padding:19px;gap:14px;border-radius:12px}
.project-grid h4{font-size:15.5px;margin:0 0 7px}
.project-grid p{font-size:12.5px;line-height:1.65}
.tags{margin-top:11px;gap:7px}
.tags span{font-size:10.5px;padding:4px 8px}

/* ---------- Research ---------- */
.research{gap:56px;padding-top:8px}
.research>div>p{font-size:15px;line-height:1.8}
.research-topic{padding:16px 18px;margin-top:20px;border-radius:10px}
.research-topic b{font-size:12px}
.research-topic span{font-size:14px;line-height:1.6}
.research-links{gap:20px;margin-top:20px}
.research-links a{font-size:12px}
.research-points{gap:14px}
.research-points div{padding:19px;border-radius:10px}
.research-points b{font-size:14px;margin-bottom:6px}
.research-points span{font-size:13px;line-height:1.65}

/* ---------- Teaching (dark band) ---------- */
.dark-band .section-inner{padding:64px 18px}
.dark-band h3{font-size:28px}
.dark-band p{font-size:15px;line-height:1.8;max-width:720px}
.teaching-grid{gap:16px;margin-top:26px}
.teaching-grid div{padding:19px;border-radius:10px}
.teaching-grid b{font-size:14px;margin-bottom:6px}
.teaching-grid span{font-size:12.5px}

/* ---------- Education ---------- */
.edu{gap:16px;margin-top:6px}
.edu-intro{font-size:13.5px;line-height:1.7;max-width:none}
.edu-card{padding:19px;gap:13px;min-height:184px;border-radius:12px}
.edu-status{font-size:10px}
.edu-card h4{font-size:14.5px;margin:0 0 6px}
.edu-card p,.edu-card small{font-size:12.5px;line-height:1.6}
.edu-card small{margin-top:9px}

/* ---------- Certifications ---------- */
.cert-grid{gap:16px}
.cert-grid article{padding:19px;gap:13px;min-height:112px;border-radius:12px}
.cert-grid h4{font-size:13.5px;margin:6px 0 4px}
.cert-grid p{font-size:12.5px;line-height:1.6}

/* ---------- FAQ ---------- */
.faq details{padding:20px 0}
.faq summary{font-size:15px}
.faq details p{font-size:14px;line-height:1.8;max-width:840px;margin-top:12px}

/* ---------- Stats strip: bigger figures, roomier rows ---------- */
.stats{padding:34px calc((100% - 1140px)/2)}
.stats>div{min-height:88px;padding:0 26px}
.stats strong{font-size:30px}
.stats span{font-size:13px;line-height:1.55}

/* ---------- Publication cards (homepage blog preview) ---------- */
.publications-head p{font-size:14px}
.publication-card h4{font-size:15.5px}
.publication-card p{font-size:12.5px;line-height:1.7}

/* ---------- Contact CTA: stronger presence before the footer ---------- */
.contact-cta{padding:52px 52px}
.contact-cta-copy h3{font-size:28px;margin-bottom:10px}
.contact-cta-copy p{font-size:15px;line-height:1.75;max-width:460px}
.contact-cta .primary{padding:16px 26px;font-size:13.5px}

@media(max-width:1000px){
  .section{padding:52px 18px}
  .dark-band .section-inner{padding:52px 18px}
  .contact-cta{padding:38px}
}
@media(max-width:600px){
  .section{padding:44px 16px}
  .about-text{padding-right:0}
  .contact-cta{padding:30px 24px}
  .contact-cta-copy h3{font-size:24px}
  .stats>div{padding:18px 4px}
}

/* ---------- blog.html: breathing room + bigger type on the index page ---------- */
.page-hero{padding:60px 0 54px!important}
.page-hero p{font-size:16px!important;line-height:1.75!important}
.publication-count{font-size:15px!important}
.blog-banner{padding:44px 40px!important;margin:0 auto 48px!important}
.blog-banner .bb-title{font-size:13px!important;margin-bottom:26px!important}
.blog-grid{gap:36px!important;padding-bottom:88px!important}
.blog-card>div{padding:28px 30px 0!important}
.blog-card p{font-size:15px!important;line-height:1.78!important}
.blog-card .read-more{margin:auto 30px 30px!important;font-size:13px!important}
@media(max-width:700px){.blog-banner{padding:26px 22px!important}}

