/* Prof. Sigamani Panneer — site styles (from the client-approved homepage design) */
:root{--red:#c8102e;--red-2:#a50d26;--blue:#0a2a5e;--blue-2:#123d82;--sky:#e8eef8;--pale:#f4f6fa;--ink:#16202f;--muted:#586578;--line:#dfe5ee;--shadow:0 2px 4px rgba(10,42,94,.05),0 16px 40px rgba(10,42,94,.10);--sans:"Helvetica Neue",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.container{width:min(1200px,calc(100% - 48px));margin:0 auto}
.topline{background:var(--red);color:#ffe3e8;font-size:12.5px;letter-spacing:.02em}
.topline .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px}
.topline a{color:#fff;font-weight:600}
.topline a:hover{text-decoration:underline}
.topline .top-right{display:flex;gap:26px}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(10,42,94,.04)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:26px}
.brand{display:flex;align-items:center;gap:14px;min-width:250px}
.brand-mark{width:48px;height:48px;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:800;font-size:17px;letter-spacing:.03em;border-radius:50% 0 50% 0;position:relative}
.brand-mark:after{content:"";position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;background:var(--red);border-radius:50%}
.brand-text strong{display:block;color:var(--blue);font-size:18px;line-height:1.15;font-weight:800;letter-spacing:-.01em}
.brand-text span{display:block;color:var(--muted);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;color:var(--blue)}
.nav-links a{padding:30px 0 28px;border-bottom:3px solid transparent;transition:.2s}
.nav-links a:hover{color:var(--red);border-bottom-color:var(--red)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:2px solid var(--red);cursor:pointer;border-radius:0;padding:13px 26px;background:var(--red);color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em;transition:.2s}
.nav-cta:hover,.btn:hover{background:var(--red-2);border-color:var(--red-2)}
.btn.secondary{background:transparent;color:#fff;border-color:#fff}
.btn.secondary:hover{background:#fff;color:var(--blue)}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--blue);cursor:pointer}
.hero{position:relative;overflow:hidden;background:var(--blue);color:#fff;padding:84px 0 150px}
.hero:before{content:"";position:absolute;right:-8%;top:-30%;width:60%;height:170%;background:linear-gradient(160deg,var(--blue-2),#0d3472);transform:skewX(-12deg)}
.hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,var(--red) 0 38%,transparent 38%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;color:#ff8da0;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow:before{content:"";width:34px;height:3px;background:var(--red)}
h1{margin:6px 0 12px;color:#fff;font-family:var(--sans);font-weight:800;font-size:clamp(42px,5.2vw,68px);letter-spacing:-.03em;line-height:1.04}
.cred-line{display:inline-block;margin:0 0 22px;padding:9px 16px;background:rgba(255,255,255,.1);border-left:4px solid var(--red);font-size:15.5px;font-weight:600;letter-spacing:.01em;color:#fff}
.hero-subtitle{max-width:640px;color:#d3def0;font-size:18px;line-height:1.75;margin:0 0 24px}
.role-line{color:#fff;font-weight:700;font-size:15px;margin-bottom:12px}
.hero .role-line:nth-of-type(1){color:#ff8da0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 30px}
.hero-meta{display:flex;gap:12px 24px;align-items:center;flex-wrap:wrap;color:#b7c8e2;font-size:13px}
.hero-meta span{display:inline-flex;align-items:center;gap:9px}
.dot{width:8px;height:8px;background:var(--red);border-radius:50%}
.portrait-wrap{position:relative;max-width:410px;justify-self:end;width:100%}
.portrait-frame{position:relative;isolation:isolate;padding:0;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.35);border-bottom:6px solid var(--red)}
.portrait-frame:after{content:"";position:absolute;right:-16px;top:-16px;width:60%;height:60%;border:3px solid var(--red);z-index:-1}
.portrait{display:block;width:100%;height:450px;object-fit:contain;object-position:center bottom;background:#e8eef8}
.portrait-caption{position:absolute;bottom:-28px;left:-36px;background:var(--red);color:#fff;padding:16px 22px;box-shadow:0 14px 30px rgba(0,0,0,.28);max-width:270px}
.portrait-caption strong{display:block;font-size:16.5px;line-height:1.3;font-weight:800}
.portrait-caption span{display:block;margin-top:6px;color:#ffe0e6;font-size:11px}
.jnu-seal{position:absolute;right:-24px;top:24px;width:90px;height:90px;border-radius:50%;background:#fff;padding:8px;box-shadow:var(--shadow)}
.jnu-seal img{width:100%;height:100%;object-fit:contain}
.highlights{position:relative;z-index:3;margin-top:-92px;margin-bottom:0}
.highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;box-shadow:var(--shadow)}
.hl{display:flex;align-items:center;gap:24px;padding:34px 38px}
.hl:first-child{background:var(--red);color:#fff}
.hl:last-child{background:#fff;color:var(--blue);border-top:6px solid var(--blue)}
.hl b{font-size:clamp(52px,6vw,76px);line-height:1;font-weight:800;letter-spacing:-.04em}
.hl span{font-size:17px;line-height:1.35;font-weight:700;max-width:230px}
.hl:last-child b{color:var(--red)}
.stats{background:#fff;padding-top:8px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.stat{padding:34px 30px 34px 0;border-right:1px solid var(--line)}
.stat+.stat{padding-left:34px}
.stat:last-child{border-right:0}
.stat strong{display:block;color:var(--blue);font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.stat span{display:block;color:var(--muted);font-size:13px;margin-top:8px;line-height:1.5;max-width:300px}
section{padding:96px 0}
.section-head{max-width:740px;margin-bottom:48px}
.section-kicker{display:inline-block;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding-bottom:8px;border-bottom:3px solid var(--red)}
h2{color:var(--blue);font:800 clamp(28px,3.6vw,42px)/1.15 var(--sans);letter-spacing:-.025em;margin:18px 0 14px}
.section-head p{color:var(--muted);margin:0;font-size:16.5px;line-height:1.8}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.about-aside{position:relative;background:var(--blue);color:#fff;padding:40px 34px;overflow:hidden;min-height:280px;border-left:8px solid var(--red)}
.about-aside:after{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-70px;bottom:-80px;box-shadow:0 0 0 28px rgba(255,255,255,.035)}
.about-aside .quote-mark{font:80px/1 var(--serif);color:var(--red);height:44px}
.about-aside p{position:relative;z-index:1;font:600 21px/1.55 var(--sans);margin:14px 0 26px}
.about-aside small{position:relative;z-index:1;color:#b7c8e2;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.about-copy p{color:#3f4d62;font-size:16px;line-height:1.9;margin:0 0 18px}
.about-copy strong{color:var(--blue)}
.credentials{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.credential{padding:18px 20px;background:var(--pale);border-top:3px solid var(--red)}
.credential strong{display:block;color:var(--blue);font-size:14px}
.credential span{display:block;color:var(--muted);font-size:12.5px;margin-top:5px;line-height:1.5}
.expertise{background:var(--pale)}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.expertise-card{background:#fff;border-bottom:4px solid transparent;padding:32px 28px;min-height:210px;transition:.25s;box-shadow:0 1px 2px rgba(10,42,94,.06)}
.expertise-card:hover{border-bottom-color:var(--red);box-shadow:var(--shadow);transform:translateY(-4px)}
.icon-box{width:48px;height:48px;display:grid;place-items:center;background:var(--blue);color:#fff;margin-bottom:20px;border-radius:50% 0 50% 0}
.icon-box svg{width:22px;height:22px}
.expertise-card h3{color:var(--blue);font-size:18px;line-height:1.3;font-weight:800;margin:0 0 10px}
.expertise-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.project{border:1px solid var(--line);padding:28px;background:#fff;display:flex;gap:20px;transition:.25s;border-left:5px solid var(--blue)}
.project:hover{box-shadow:var(--shadow);border-left-color:var(--red)}
.project-num{color:var(--red);font:800 30px var(--sans);line-height:1.1}
.project h3{color:var(--blue);font-size:16.5px;line-height:1.4;margin:0 0 8px;font-weight:800}
.project p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.project .tag{display:inline-block;margin-top:14px;color:var(--red);background:#fdeaed;padding:5px 11px;font-size:11px;font-weight:700;letter-spacing:.04em}
.research-note{margin-top:24px;padding:18px 22px;background:var(--sky);color:#34496b;font-size:13.5px;border-left:5px solid var(--red)}
.publications{background:var(--pale)}
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pub-card{background:#fff;padding:28px;min-height:230px;display:flex;flex-direction:column;border-top:4px solid var(--blue);transition:.25s;box-shadow:0 1px 2px rgba(10,42,94,.06)}
.pub-card:hover{border-top-color:var(--red);box-shadow:var(--shadow)}
.pub-year{color:var(--red);font-size:12.5px;font-weight:800;letter-spacing:.14em}
.pub-card h3{color:var(--blue);font:800 18.5px/1.35 var(--sans);margin:12px 0 10px}
.pub-card p{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 18px}
.pub-card .publisher{color:#74839a;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.pub-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.pub-links a{border:2px solid var(--blue);background:#fff;padding:9px 18px;font-size:13px;font-weight:700;color:var(--blue);transition:.2s}
.pub-links a:hover{background:var(--red);border-color:var(--red);color:#fff}
.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.timeline{border-left:3px solid var(--sky);margin-left:8px;padding-left:28px}
.timeline-item{position:relative;padding-bottom:28px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item:before{content:"";position:absolute;left:-37px;top:5px;width:14px;height:14px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 0 0 2px var(--red)}
.timeline-item .time{color:var(--red);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.timeline-item h3{color:var(--blue);font-size:16px;margin:5px 0 4px;font-weight:800}
.timeline-item p{color:var(--muted);font-size:14px;margin:0;line-height:1.7}
.award-list{display:grid;gap:12px}
.award{display:flex;gap:16px;padding:17px 18px;background:var(--pale);align-items:flex-start;border-left:4px solid var(--blue)}
.award-icon{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:15px}
.award strong{display:block;color:var(--blue);font-size:14px}
.award span{color:var(--muted);font-size:12.5px;display:block;margin-top:3px}
.consultation{background:linear-gradient(120deg,var(--blue) 0 62%,#0d3472 62%);color:#fff}
.consultation .section-kicker{color:#ff8da0;border-color:var(--red)}
.consultation h2{color:#fff}
.consult-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.consult-intro{padding-top:8px}
.consult-intro p{color:#cfdbef;font-size:15.5px;line-height:1.85}
.consult-list{display:grid;gap:13px;margin:26px 0}
.consult-list div{display:flex;gap:12px;color:#e8eef8;font-size:14.5px;align-items:flex-start}
.check{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-size:12px;font-weight:900}
.booking-card{background:#fff;color:var(--ink);border-top:6px solid var(--red);padding:36px;box-shadow:0 28px 70px rgba(0,0,0,.3)}
.booking-card h3{color:var(--blue);font:800 26px var(--sans);margin:0 0 6px;letter-spacing:-.02em}
.booking-card .sub{color:var(--muted);font-size:13.5px;margin:0 0 24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{color:var(--blue);font-size:12px;font-weight:700}
.field input,.field select,.field textarea{width:100%;border:1px solid #c7d1e0;border-radius:0;padding:12px 14px;color:var(--ink);outline:0;background:#fff;font-size:14px;transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(200,16,46,.12)}
.field textarea{resize:vertical;min-height:92px}
.booking-card button{width:100%;padding:15px 24px}
.form-message{display:none;margin-top:14px;padding:13px 15px;font-size:13px;line-height:1.6}
.form-message.show{display:block}
.form-message.info{color:#1d4577;background:#eef4fc;border:1px solid #cfe0f5}
.form-message.error{color:#8b1f2d;background:#fff0f2;border:1px solid #f5ccd3}
.contact-band{padding:68px 0;background:var(--red);color:#fff}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact-inner h2{color:#fff;font-size:32px;margin:0 0 8px}
.contact-inner p{color:#ffe3e8;font-size:15px;margin:0}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap}
.contact-actions .btn{background:#fff;color:var(--red);border-color:#fff}
.contact-actions .btn:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.contact-actions .btn.secondary{background:transparent;color:#fff;border-color:#fff}
.contact-actions .btn.secondary:hover{background:#fff;color:var(--red)}
footer{background:#061a3d;color:#a5b6d0;padding:42px 0 30px;font-size:12.5px;border-top:6px solid var(--blue-2)}
.footer-grid{display:flex;justify-content:space-between;align-items:center;gap:25px}
.footer-brand strong{display:block;color:#fff;font:800 19px var(--sans)}
.footer-brand span{display:block;margin-top:5px}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.footer-links a:hover{color:#fff}
.copyright{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#7d90ad}
@media(max-width:1000px){.nav-links{gap:16px}.hero-grid{gap:40px}.portrait{height:390px}.about-grid,.career-grid{gap:36px}.consult-grid{gap:30px}.hl{padding:28px 26px;gap:16px}}
@media(max-width:760px){
  .container{width:min(100% - 32px,560px)}
  .topline .inner{justify-content:center;text-align:center;padding:8px 0}
  .topline .top-right{display:none}
  .nav{min-height:68px}
  .brand{min-width:0}
  .brand-text strong{font-size:15.5px}
  .brand-text span{font-size:9px}
  .menu-toggle{display:grid;place-items:center}
  .nav-cta{display:none}
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:12px 22px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(10,42,94,.1);flex-direction:column;align-items:stretch;gap:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 4px;border-bottom:1px solid #edf1f6}
  .hero{padding:52px 0 120px}
  .hero:before{display:none}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  h1{font-size:42px}
  .hero-subtitle{font-size:16px}
  .portrait-wrap{justify-self:center;max-width:340px}
  .portrait{height:370px}
  .portrait-caption{left:-8px}
  .jnu-seal{right:-8px}
  .highlights{margin-top:-70px}
  .highlights-grid{grid-template-columns:1fr}
  .hl{padding:24px}
  .stats-grid{grid-template-columns:1fr}
  .stat,.stat+.stat{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:0}
  section{padding:68px 0}
  .about-grid,.career-grid,.consult-grid{grid-template-columns:1fr}
  .expertise-grid{grid-template-columns:repeat(2,1fr)}
  .projects-grid,.pub-grid{grid-template-columns:1fr}
  .consultation{background:var(--blue)}
  .contact-inner{flex-direction:column;align-items:flex-start}
  .contact-inner h2{font-size:28px}
  .footer-grid{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){h1{font-size:36px}.hero-actions .btn{width:100%}.expertise-grid,.credentials,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-card{padding:26px 20px}.portrait{height:320px}.contact-actions,.contact-actions .btn{width:100%}.cred-line{font-size:14px}}

/* ---- Additions for the Laravel site (approved design unchanged) ---- */
.col-title{color:var(--ink);font:700 21px Georgia,serif;margin:0 0 22px}
.form-message.success{color:#14532d;background:#ecfdf3;border:1px solid #b7ebc9}
.field-error{color:#a50d26;font-size:12px;font-weight:600}
.field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{border-color:var(--red)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.error-page{padding:120px 0;text-align:left}
.error-page h1{color:var(--blue)}
.error-page p{color:var(--muted);max-width:560px}
/* Tablets (761–999px): the full menu and button do not fit on one line in the approved design,
   so the design's own mobile menu is used here too. Desktop and phone layouts are unchanged. */
@media(min-width:761px) and (max-width:999px){
  .menu-toggle{display:grid;place-items:center}
  .nav-cta{display:none}
  .nav-links{display:none;position:absolute;top:82px;left:0;right:0;padding:12px 32px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(10,42,94,.1);flex-direction:column;align-items:stretch;gap:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 4px;border-bottom:1px solid #edf1f6}
}
/* Small laptops (1001–1100px): use the design's tighter menu spacing a little earlier so the header fits. */
@media(min-width:1001px) and (max-width:1100px){.nav-links{gap:16px}.nav{gap:20px}}
/* Very narrow phones (≤360px): keep the highlight cards inside the screen. */
@media(max-width:360px){.hl{padding:22px 18px;gap:14px}.hl b{font-size:46px}.hl span{font-size:15px}}
/* Readability: the consultation intro line used the grey body colour on the dark blue background. */
.consultation .section-head p{color:#cfdbef}

/* Pages created in the admin panel (same palette, type and spacing as the homepage) */
.page-hero{position:relative;overflow:hidden;background:var(--blue);color:#fff;padding:64px 0 72px}
.page-hero:before{content:"";position:absolute;right:-8%;top:-30%;width:55%;height:170%;background:linear-gradient(160deg,var(--blue-2),#0d3472);transform:skewX(-12deg)}
.page-hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:6px;background:linear-gradient(90deg,var(--red) 0 38%,transparent 38%)}
.page-hero-grid{position:relative;z-index:1}
.page-hero-grid > div:first-child{max-width:860px}
.page-hero-grid.has-image{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;max-width:none}
.page-hero h1{font-size:clamp(34px,4.4vw,56px)}
.page-hero .hero-subtitle{margin-bottom:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;font-size:13px;color:#b7c8e2}
.breadcrumb a{color:#fff;font-weight:600}
.breadcrumb a:hover{text-decoration:underline}
.page-hero-media{background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.35);border-bottom:6px solid var(--red)}
.page-hero-media img{display:block;width:100%;max-height:380px;object-fit:cover}
.page-section{padding:80px 0}
.page-section.style-pale{background:var(--pale)}
.page-section.style-navy{background:var(--blue);color:#fff}
.page-section.style-navy h2,.page-section.style-navy .page-body h3{color:#fff}
.page-section.style-navy .section-kicker{color:#ff8da0;border-color:#ff8da0}
.page-section.style-navy .page-body,.page-section.style-navy .page-body p,.page-section.style-navy .page-body li{color:#d3def0}
.page-section.style-navy .page-body a{color:#fff}
.page-section .section-head{margin-bottom:26px}
.page-text-full{max-width:860px}
.page-body{color:var(--muted);font-size:16.5px;line-height:1.8}
.page-body p{margin:0 0 18px}
.page-body h3{color:var(--blue);font-size:21px;line-height:1.3;margin:30px 0 12px}
.page-body ul{margin:0 0 18px;padding-left:22px}
.page-body li{margin-bottom:8px}
.page-body li::marker{color:var(--red)}
.page-body strong{color:var(--ink)}
.page-section.style-navy .page-body strong{color:#fff}
.page-body a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.page-actions{margin-top:26px}
.page-split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.page-split.img-left .page-figure{order:-1}
.page-figure{margin:0;box-shadow:var(--shadow);border-bottom:6px solid var(--red);background:#fff}
.page-figure img{display:block;width:100%;height:auto}
.page-figure-top{margin-bottom:34px}
.preview-bar{background:#fff4dc;color:#7a5200;text-align:center;font-size:14px;font-weight:600;padding:10px 16px;border-bottom:1px solid #f0d9a6}
.nav-links a[aria-current="page"]{color:var(--red);border-bottom-color:var(--red)}
@media(max-width:1000px){.page-hero-grid.has-image,.page-split{grid-template-columns:1fr;gap:36px}.page-split.img-left .page-figure{order:0}}
@media(max-width:760px){.page-hero{padding:48px 0 56px}.page-section{padding:56px 0}.page-body{font-size:16px}}
/* Header menu labels stay on one line; when the links set in Admin → Navigation menu do not fit,
   the design's own hamburger menu is used (header gets .nav-compact from site.js). */
.nav-links a,.nav-cta{white-space:nowrap}
@media(min-width:1000px){
  .nav.nav-compact .menu-toggle{display:grid;place-items:center}
  .nav.nav-compact .nav-cta{display:none}
  .nav.nav-compact .nav-links{display:none;position:absolute;top:82px;left:0;right:0;padding:12px max(24px,calc((100% - 1200px)/2)) 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(10,42,94,.1);flex-direction:column;align-items:stretch;gap:0}
  .nav.nav-compact .nav-links.open{display:flex}
  .nav.nav-compact .nav-links a{padding:13px 4px;border-bottom:1px solid #edf1f6}
}
.copyright{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.copyright .powered a{color:#fff;font-weight:600}
.copyright .powered a:hover{text-decoration:underline}

/* Academic work and visits maps */
.academic-map{background:var(--pale)}
.map-legend{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0 0 22px;padding:0;font-size:13.5px;color:var(--muted)}
.map-legend li{display:flex;align-items:center;gap:8px}
.map-dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex:0 0 11px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(10,42,94,.25)}
.type-appointment{--pin:var(--red)}.type-visiting{--pin:#0a2a5e}.type-collaboration{--pin:#2f7fd1}.type-education{--pin:#d88a00}
.map-dot{background:var(--pin)}
.map-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:24px;align-items:start}
.map-figure{margin:0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:16px 16px 18px;border-top:4px solid var(--blue)}
.map-figure figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;color:var(--blue)}
.map-figure figcaption span{font-size:12.5px;color:var(--muted)}
.map-canvas{position:relative;width:100%;background:#f7f9fc}
.map-canvas img{position:absolute;inset:0;width:100%;height:100%;display:block}
.map-pin{position:absolute;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--pin);box-shadow:0 1px 4px rgba(10,42,94,.35);cursor:pointer;z-index:1;transition:transform .15s}
.map-india .map-pin{width:12px;height:12px;margin:-6px 0 0 -6px}
.map-pin:hover,.map-pin:focus-visible,.map-pin.open{transform:scale(1.35);z-index:3;outline:none}
.map-tip{display:none;position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:max-content;max-width:240px;background:var(--blue);color:#d3def0;font-size:12px;line-height:1.45;text-align:left;padding:8px 11px;box-shadow:0 10px 24px rgba(10,42,94,.25);pointer-events:none}
.map-tip strong{display:block;color:#fff;font-size:12.5px;margin-bottom:2px}
.map-pin.tip-left .map-tip{left:auto;right:-6px;transform:none}
.map-pin.tip-below .map-tip{bottom:auto;top:calc(100% + 9px)}
.map-pin:hover .map-tip,.map-pin:focus-visible .map-tip,.map-pin.open .map-tip{display:block}
.map-list{margin-top:26px;background:#fff;border:1px solid var(--line)}
.map-list summary{cursor:pointer;padding:14px 18px;font-weight:700;color:var(--blue)}
.map-list-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;padding:4px 18px 18px}
.map-list h3{color:var(--blue);font-size:16px;margin:10px 0 8px}
.map-list ul{list-style:none;margin:0;padding:0}
.map-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);padding:6px 0;border-bottom:1px solid #edf1f6}
.map-list li .map-dot{margin-top:5px}
.map-list li strong{color:var(--ink);font-weight:600}
.map-note{font-size:12px;color:var(--muted);margin:14px 0 0}
@media(max-width:1000px){.map-grid{grid-template-columns:1fr}.map-india{max-width:560px}}
@media(max-width:760px){.map-list-grid{grid-template-columns:1fr}.map-figure{padding:12px}.map-pin{width:11px;height:11px;margin:-5.5px 0 0 -5.5px}.map-india .map-pin{width:10px;height:10px;margin:-5px 0 0 -5px}.map-tip{max-width:200px}}

/* Statistics row with more than three items */
.stats-grid.stats-many{grid-template-columns:repeat(3,1fr)}
.stats-grid.stats-many .stat{padding:28px 30px 28px 34px;border-right:1px solid var(--line)}
.stats-grid.stats-many .stat:nth-child(3n+1){padding-left:0}
.stats-grid.stats-many .stat:nth-child(3n){border-right:0}
.stats-grid.stats-many .stat:nth-child(n+4){border-top:1px solid var(--line)}
@media(max-width:760px){.stats-grid.stats-many{grid-template-columns:1fr 1fr}.stats-grid.stats-many .stat{padding:22px 16px;border-right:0;border-bottom:0;border-top:1px solid var(--line)}.stats-grid.stats-many .stat:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.stats-grid.stats-many .stat:nth-child(-n+2){border-top:0}}
@media(max-width:400px){.stats-grid.stats-many{grid-template-columns:1fr}.stats-grid.stats-many .stat,.stats-grid.stats-many .stat:nth-child(odd){border-right:0;padding-left:0}.stats-grid.stats-many .stat:nth-child(2){border-top:1px solid var(--line)}}
.map-pin.tip-right .map-tip{left:-6px;transform:none}
