.tm-page{color:var(--text,#213647);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.65;overflow-wrap:break-word}
.tm-page section{margin:0}.tm-page section.rd-container{margin-inline:auto}.tm-page p{max-width:none}
.tm-page .rd-section-head h2{font-size:clamp(34px,4.1vw,60px);line-height:1.07;letter-spacing:-.045em;color:var(--imperial-blue,#003e74);font-weight:750;margin:0;text-wrap:balance}
.tm-page section[id]{scroll-margin-top:16px}
.tm-hero{padding:82px 0 65px;background:linear-gradient(120deg,#eef5fa 0%,#f8f6fc 100%);border-bottom:1px solid #dbe5ed}
.tm-hero h1{margin:14px 0 25px;font-size:clamp(3.3rem,7vw,6.4rem);line-height:1.02;letter-spacing:-.055em;color:var(--imperial-blue,#003e74);font-weight:750}
.tm-intro{max-width:850px;font-size:clamp(1.08rem,1.55vw,1.28rem);line-height:1.75;color:#425c70;margin:0}
.tm-jumpnav{border-bottom:1px solid #dbe5ed;background:#fff}
.tm-jumpnav>.rd-container{display:flex;gap:30px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px}
.tm-jumpnav a{color:var(--imperial-blue,#003e74);font-size:.95rem;font-weight:650;text-decoration:none;white-space:nowrap}
.tm-jumpnav a:hover{color:var(--purple,#6b3fa0);text-decoration:underline;text-underline-offset:5px}
.tm-section{padding-top:80px;padding-bottom:80px}
.tm-tinted{background:#f3f6fa}
.tm-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.tm-profile{padding:30px;border:1px solid #dbe4ec;border-radius:20px;background:#fff;min-width:0}
.tm-profile-head{display:flex;gap:22px;align-items:flex-start}
.tm-portrait{width:100px;height:118px;object-fit:cover;object-position:center 30%;border-radius:12px;flex:0 0 auto;background:#edf2f6}
.tm-profile-name{min-width:0}
.tm-profile h3,.tm-profile h2{font-size:1.6rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 9px;color:var(--imperial-blue,#003e74)}
.tm-profile p{margin:0}
.tm-role{color:var(--purple,#6b3fa0);font-weight:700;font-size:.95rem;line-height:1.45}
.tm-role-detail{font-size:.9rem;color:#50697b;margin-top:5px!important;line-height:1.5}
.tm-period{color:#637789;font-size:.85rem;line-height:1.5;margin-top:6px!important}
.tm-affiliation{color:#50697b;font-size:.86rem;line-height:1.6;margin-top:7px!important}
.tm-profile-body{margin-top:23px}
.tm-research-focus{font-weight:700;color:var(--imperial-blue,#003e74);font-size:1.02rem;line-height:1.5;margin-bottom:12px!important}
.tm-bio{font-size:.96rem;line-height:1.8;color:#3f5668}
.tm-project-focus{border-top:1px solid #e3e9ee;margin:22px 0 0;padding:17px 0 0}
.tm-project-focus dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;font-weight:750;color:var(--purple,#6b3fa0);margin-bottom:7px}
.tm-project-focus dd{font-size:.93rem;line-height:1.6;color:#29465d;margin:0}
.tm-supervision{font-size:.84rem!important;line-height:1.6!important;color:#576d80;margin-top:12px!important}
.tm-supervision span{font-weight:700;color:#344f66}
.tm-topics{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:20px 0 0}
.tm-topics li{background:#eef3f8;color:var(--imperial-blue,#003e74);font-size:.76rem;line-height:1.45;padding:6px 10px;border-radius:7px;max-width:100%}
.tm-profile-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}
.tm-profile-links .rd-text-link{font-size:.87rem}
.tm-featured{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.5fr);gap:50px;padding:36px;background:#fff;border-color:#d5e2ec;box-shadow:0 16px 45px rgba(0,33,71,.045)}
.tm-featured .tm-profile-head{gap:26px;align-items:center}
.tm-featured .tm-portrait{width:158px;height:198px;border-radius:14px;object-position:center 23%}
.tm-featured h2{font-size:clamp(1.65rem,2.5vw,2.35rem)}
.tm-featured .tm-profile-body{margin-top:0}
.tm-featured .tm-research-focus{font-size:1.15rem}
.tm-featured .tm-bio{font-size:1rem}
.tm-visitor-grid{max-width:920px}
.tm-programmes{display:flex;flex-direction:column;gap:20px}
.tm-programme{background:#fff;border:1px solid #d7e2ec;border-radius:18px;overflow:hidden}
.tm-programme summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 28px;cursor:pointer;list-style:none;color:var(--imperial-blue,#003e74)}
.tm-programme summary::-webkit-details-marker{display:none}
.tm-programme summary strong{display:block;font-size:1.4rem;letter-spacing:-.02em}
.tm-programme-description{display:block;color:#657b8e;font-size:.9rem;margin-top:5px;line-height:1.5}
.tm-disclosure-symbol{display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:400;line-height:1;width:32px;height:32px;border-radius:50%;background:#f0eaf6;color:var(--purple,#6b3fa0);flex:0 0 auto;transition:transform .2s}
.tm-programme[open] .tm-disclosure-symbol{transform:rotate(45deg)}
.tm-programme[open] summary{border-bottom:1px solid #e0e8ef}
.tm-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;padding:0 28px}
.tm-project-card{min-width:0;padding:25px 0;border-bottom:1px solid #e2e8ee}
.tm-project-card:nth-last-child(-n+2){border-bottom:0}
.tm-project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.tm-project-heading h3{font-size:1.07rem;color:var(--imperial-blue,#003e74);line-height:1.4;margin:0;font-weight:750}
.tm-project-heading .tm-period{white-space:nowrap;margin-top:0!important;font-size:.78rem}
.tm-project-title{font-size:.98rem;line-height:1.6;color:#314c61;margin:12px 0 0}
.tm-project-mentors{font-size:.82rem;line-height:1.6;color:#63788a;margin:12px 0 0}
.tm-project-mentors+.tm-project-mentors{margin-top:5px}
.tm-project-mentors strong{font-weight:700;color:#475f72}
.tm-group-project{margin-top:30px;background:#fff;border:1px solid #d7e2ec;border-radius:18px;padding:30px}
.tm-group-project h3{font-size:1.6rem;margin:8px 0 0;color:var(--imperial-blue,#003e74)}
.tm-group-project h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--purple,#6b3fa0);margin:24px 0 12px}
.tm-group-members{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:0;margin:0}
.tm-group-members li{font-size:.94rem;line-height:1.65;color:#324e63}
.tm-interns{margin-top:38px;padding:0 4px}
.tm-interns h3{font-size:1.4rem;color:var(--imperial-blue,#003e74);margin:0 0 16px}
.tm-interns ul{display:flex;flex-wrap:wrap;gap:18px 45px;margin:0;padding:0;list-style:none}
.tm-interns li{display:flex;flex-direction:column;gap:5px;color:#324e63}
.tm-interns li span{font-size:.85rem;color:#63788a}
.tm-alumni-profiles{margin-bottom:36px}
.tm-alumni-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}
.tm-alumni-record{padding:24px 0;border-bottom:1px solid #e0e7ee;min-width:0}
.tm-alumni-record h3{font-size:1.05rem;color:var(--imperial-blue,#003e74);margin:0 0 7px;line-height:1.4}
.tm-alumni-record p:not(.tm-period){font-size:.9rem;line-height:1.65;color:#4d6375;margin:12px 0 0}
.tm-contact-band{padding:60px 0;background:var(--imperial-blue,#003e74);color:#fff}
.tm-contact-band>.rd-container{display:flex;justify-content:space-between;gap:40px;align-items:center}
.tm-contact-band .rd-eyebrow{color:#d8c8f2!important}
.tm-contact-band h2{font-size:2.3rem;color:#fff;margin:10px 0 14px;letter-spacing:-.035em}
.tm-contact-band p:not(.rd-eyebrow){color:#deebf5;max-width:590px;line-height:1.7}
.tm-contact-band .rd-actions{flex:0 0 auto;flex-wrap:wrap;max-width:320px}
.tm-page a:focus-visible,.tm-page summary:focus-visible{outline:3px solid var(--purple,#6b3fa0);outline-offset:5px;border-radius:4px}
.tm-contact-band a:focus-visible{outline-color:#d8c8f2}
@media(min-width:1450px){.tm-featured{grid-template-columns:460px minmax(0,1fr)}}
@media(max-width:1050px){.tm-featured{grid-template-columns:1fr;gap:28px}.tm-featured .tm-profile-head{align-items:center}.tm-featured .tm-portrait{width:130px;height:162px}.tm-profile{padding:25px}.tm-profile-head{gap:18px}.tm-portrait{width:82px;height:98px}.tm-alumni-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-contact-band>.rd-container{align-items:flex-start;flex-direction:column}.tm-contact-band .rd-actions{max-width:none}}
@media(max-width:720px){.tm-hero{padding:54px 0 42px}.tm-hero h1{font-size:3.6rem}.tm-jumpnav>.rd-container{gap:15px 23px;padding-top:20px;padding-bottom:20px}.tm-jumpnav a{font-size:.82rem}.tm-section{padding-top:54px;padding-bottom:54px}.tm-profile-grid{grid-template-columns:1fr;gap:20px}.tm-profile{padding:24px}.tm-featured{gap:24px}.tm-featured .tm-profile-head{gap:21px}.tm-featured .tm-portrait{width:104px;height:136px}.tm-featured h2{font-size:1.7rem}.tm-featured .tm-role{font-size:.87rem}.tm-featured .tm-affiliation{font-size:.8rem}.tm-profile h3{font-size:1.45rem}.tm-profile-head{gap:20px}.tm-portrait{width:82px;height:98px}.tm-project-grid{grid-template-columns:1fr;padding:0 22px}.tm-programme summary{padding:22px}.tm-programme summary strong{font-size:1.2rem}.tm-programme-description{font-size:.82rem}.tm-project-card:nth-last-child(2){border-bottom:1px solid #e2e8ee}.tm-project-card:last-child{border-bottom:0}.tm-project-heading{gap:10px;flex-wrap:wrap}.tm-project-heading .tm-period{font-size:.76rem}.tm-group-project{padding:24px}.tm-group-members{gap:8px 20px}.tm-alumni-grid{gap:0 25px}.tm-contact-band{padding:45px 0}.tm-contact-band h2{font-size:2rem}.tm-profile-links{gap:12px 20px}}
@media(max-width:440px){.tm-alumni-grid{grid-template-columns:1fr}.tm-featured .tm-profile-head{align-items:flex-start}.tm-profile{padding:21px}.tm-profile-head{gap:17px}.tm-featured .tm-portrait{width:88px;height:116px}.tm-featured h2{font-size:1.55rem}.tm-topics li{font-size:.72rem}.tm-interns ul{gap:20px}.tm-project-mentors{overflow-wrap:anywhere}}
/* Expanded profiles: concise introductions with optional research and background details. */
.tm-page article[id],.tm-interns li[id]{scroll-margin-top:108px}
.tm-profile-grid,.tm-alumni-grid{align-items:start}
.tm-name-link{color:inherit;text-decoration:none}
.tm-name-link:hover{color:var(--purple,#6b3fa0);text-decoration:underline;text-underline-offset:4px}
.tm-initials{display:grid;place-items:center;color:var(--imperial-blue,#003e74);background:linear-gradient(135deg,#eaf2f9,#f1ebf8);font-size:1.7rem;font-weight:750;letter-spacing:-.025em;border:1px solid #dce5ef}
.tm-initials-small{width:37px;height:37px;border-radius:10px;font-size:.8rem;flex:0 0 auto}
.tm-project-identity{display:flex;align-items:center;gap:11px;min-width:0}
.tm-project-heading{align-items:center}
.tm-research-area{color:var(--purple,#6b3fa0);font-size:.77rem;font-weight:700;line-height:1.5;margin:16px 0 0}
.tm-project-context{font-size:.88rem;line-height:1.75;color:#5b7081;margin:12px 0 0}
.tm-project-card .tm-project-title{font-weight:650;margin-top:8px}
.tm-project-card .tm-topics{margin-top:14px;gap:6px}
.tm-project-card .tm-topics li{font-size:.7rem;padding:5px 8px}
.tm-project-application{margin-top:14px}
.tm-project-application .rd-text-link{font-size:.79rem}
.tm-profile-details{margin-top:23px;border-top:1px solid #dfe7ee}
.tm-profile-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0 0;cursor:pointer;color:var(--imperial-blue,#003e74);font-weight:700;font-size:.85rem;line-height:1.5}
.tm-profile-details>summary::-webkit-details-marker{display:none}
.tm-profile-details>summary:hover{color:var(--purple,#6b3fa0)}
.tm-detail-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:#f0eaf6;color:var(--purple,#6b3fa0);font-size:1.1rem;font-weight:400;line-height:1;transition:transform .2s}
.tm-profile-details[open]>.tm-detail-toggle,.tm-profile-details[open]>summary>.tm-detail-toggle{transform:rotate(45deg)}
.tm-details-content{padding:20px 0 2px}
.tm-detail-block+.tm-detail-block{margin-top:23px}
.tm-detail-block h4{font-size:.74rem;line-height:1.45;text-transform:uppercase;letter-spacing:.08em;color:var(--purple,#6b3fa0);margin:0 0 10px;font-weight:750}
.tm-detail-block>p{font-size:.89rem;line-height:1.75;color:#4d6578}
.tm-background{font-size:.86rem;line-height:1.7;color:#4d6578;margin:0;padding-left:19px;display:grid;gap:7px}
.tm-background li::marker{color:#7c58a8}
.tm-mentoring-row+.tm-mentoring-row{margin-top:12px}
.tm-profile p.tm-detail-label{font-size:.8rem;color:#61778a;margin:0 0 7px}
.tm-mentoring-links{list-style:none;display:flex;flex-wrap:wrap;gap:7px 9px;margin:0;padding:0}
.tm-mentoring-links a{display:inline-block;padding:4px 9px;border:1px solid #dce6ee;border-radius:5px;background:#f7f9fb;color:var(--imperial-blue,#003e74);text-decoration:none;font-size:.78rem;line-height:1.5}
.tm-mentoring-links a:hover{background:#f0eaf6;border-color:#d8cbe8;color:var(--purple,#6b3fa0)}
.tm-selected-works{list-style:none;margin:0;padding:0}
.tm-selected-works>li{padding:14px 0;border-top:1px solid #e5eaf0}
.tm-selected-works>li:first-child{padding-top:0;border-top:0}
.tm-selected-works>li:last-child{padding-bottom:0}
.tm-selected-works p.tm-work-meta{font-size:.73rem;line-height:1.6;color:#657a8c;margin:0 0 6px}
.tm-work-title{display:block;font-size:.89rem;line-height:1.6;color:var(--imperial-blue,#003e74);font-weight:650;text-decoration:none}
.tm-work-title:hover{text-decoration:underline;text-underline-offset:3px;color:var(--purple,#6b3fa0)}
.tm-work-links{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:8px}
.tm-work-links a{font-size:.75rem;line-height:1.5;font-weight:650;color:var(--purple,#6b3fa0);text-decoration:none}
.tm-work-links a:hover{text-decoration:underline;text-underline-offset:3px}
.tm-compact-details{margin-top:17px}
.tm-compact-details>summary{font-size:.79rem;padding-top:13px}
.tm-compact-details .tm-details-content{padding-top:17px}
.tm-alumni-record p.tm-research-area{font-size:.76rem;color:var(--purple,#6b3fa0);line-height:1.5;margin-top:12px;font-weight:700}
.tm-alumni-record .tm-work-title{font-size:.82rem}
.tm-alumni-record p.tm-work-meta{font-size:.7rem;line-height:1.55;margin:0 0 6px}
.tm-project-card:nth-last-child(-n+2){border-bottom:1px solid #e2e8ee}
.tm-project-card:last-child,.tm-project-card:nth-last-child(2):nth-child(odd){border-bottom:0}
@media(max-width:720px){.tm-profile-details>summary{font-size:.82rem}.tm-detail-block>p{font-size:.87rem}.tm-background{font-size:.83rem}.tm-work-title{font-size:.85rem}.tm-project-card:nth-last-child(2):nth-child(odd){border-bottom:1px solid #e2e8ee}.tm-project-heading{gap:8px 14px}.tm-project-heading .tm-period{margin-left:48px}.tm-project-context{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.tm-detail-toggle,.tm-disclosure-symbol{transition:none}}
