:root{--blue:#0861db;--deep:#10294c;--ink:#142b49;--muted:#61728a;--line:#dce6f1;--pale:#f2f7fd;--font:'Manrope','IBM Plex Sans Thai',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:15px;line-height:1.8}body:lang(th){font-family:'IBM Plex Sans Thai','Manrope',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #30a4ff;outline-offset:5px}img{display:block;max-width:100%}.container{width:min(1200px,calc(100% - 96px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:#ffffffef;backdrop-filter:blur(16px);border-bottom:1px solid #e7edf5}.nav-wrap{height:96px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;letter-spacing:1.3px;line-height:1.5;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:3px}.brand-mark{font-size:43px;line-height:1;font-weight:800;letter-spacing:-4px}.brand-mark span{color:var(--blue)}nav{display:flex;align-items:center;gap:25px;margin-left:auto}nav a{font-size:12px;font-weight:700;position:relative}nav a:hover,nav a.active{color:var(--blue)}nav a.active:after{content:'';position:absolute;width:5px;height:5px;background:var(--blue);border-radius:50%;bottom:-13px;left:50%}.languages{display:flex;gap:8px;align-items:center;font-size:12px;white-space:nowrap;border-left:1px solid var(--line);padding-left:22px}.languages a{color:var(--muted)}.languages .selected{font-weight:800;color:var(--blue)}.languages span{color:#c7d2df}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:21px;padding:10px}.hero{background:linear-gradient(110deg,#f7fbff 10%,#edf6ff 72%,#e8f2ff);position:relative;overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#6d9fd30b 1px,transparent 1px),linear-gradient(90deg,#6d9fd30b 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-layout{position:relative;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:70px;padding-top:70px;padding-bottom:76px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--blue);margin:0 0 25px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:7px;height:7px;background:var(--blue);border-radius:50%}.academic-title{font-size:17px;color:var(--muted);margin:30px 0 8px}h1{font-size:clamp(62px,6.6vw,94px);letter-spacing:-5px;font-weight:800;line-height:1.04;margin:0 0 25px}h1 span{color:var(--blue)}.hero-lead{font-size:23px;line-height:1.5;font-weight:600;letter-spacing:-.5px;margin:0 0 18px}.hero-description{font-size:14px;max-width:455px;color:var(--muted);line-height:1.9}.hero-actions{display:flex;gap:14px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 22px;border:1px solid var(--blue);border-radius:5px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:var(--blue);box-shadow:0 7px 20px #0861db20}.primary:hover{background:#064db4}.outline{background:#ffffff55;color:var(--ink);border-color:#cbdbee}.outline:hover{background:#fff}.hero-affiliation{display:flex;gap:13px;align-items:center;font-size:11px;margin-top:35px;color:#445a73}.hero-affiliation i{font-size:23px;color:var(--blue)}.hero-affiliation small{display:block;font-size:10px;color:var(--muted)}.portrait-composition{position:relative;padding:38px 28px 35px 20px}.portrait-frame{position:relative;background:#cfe3fb;border-radius:140px 12px 12px 12px;overflow:hidden;box-shadow:18px 20px 0 #d5e7fa;z-index:2;border:8px solid #fff}.portrait-frame img{width:100%;height:auto;aspect-ratio:390/430;object-fit:cover;object-position:center}.portrait-label{position:relative;z-index:3;margin:0 0 17px 23px;font-size:9px;font-weight:800;letter-spacing:1.5px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);margin-right:5px}.orbit{position:absolute;border:1px solid #6b9ed740;border-radius:50%;width:480px;height:480px;top:10px;left:-20px}.orbit-two{width:540px;height:540px;top:-20px;left:-50px;border-style:dashed}.orbit-one:after{content:'';position:absolute;width:9px;height:9px;background:#3b88ed;border:5px solid #e4f0ff;box-sizing:content-box;right:38px;top:65px;border-radius:50%}.floating-tag{position:absolute;z-index:4;bottom:12px;left:-27px;display:flex;gap:14px;align-items:center;background:white;border:1px solid #e1eaf4;border-radius:8px;box-shadow:0 16px 45px #193c6815;padding:18px 24px;font-size:12px;font-weight:800}.floating-tag small{display:block;color:var(--muted);font-size:8px;letter-spacing:2px;margin-top:4px}.tag-icon{background:#edf5ff;color:var(--blue);padding:8px 12px;border-radius:6px;font-size:23px}.figure-index{position:absolute;right:2px;bottom:-15px;font-size:8px;letter-spacing:2px;color:#6a86a3}.hero-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cfdfef;padding-top:18px;padding-bottom:18px;font-size:8px;letter-spacing:2px;font-weight:700;color:#6b839f}.hero-bottom a{font-size:15px;color:var(--blue)}.expertise-strip{background:#0d2c53;color:white}.expertise-strip .container{display:flex;align-items:center;gap:40px;padding-top:18px;padding-bottom:18px}.expertise-strip span{font-size:9px;letter-spacing:1.6px;color:#8cbbef;white-space:nowrap}.expertise-strip p{font-size:12px;margin:0;display:flex;align-items:center;gap:25px}.expertise-strip b{color:#4897f3;font-size:16px}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:15px}h2{font-size:clamp(29px,3.3vw,43px);line-height:1.3;letter-spacing:-1.6px;margin:0;font-weight:800}.section-intro{max-width:330px;color:var(--muted);font-size:13px;margin:0 0 4px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.bio p{margin:0 0 20px;color:var(--muted);font-size:14px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:12px;font-weight:800}.text-link:hover{text-decoration:underline}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0 13px;padding-top:24px;border-top:1px solid var(--line)}.metrics strong{font-size:35px;line-height:1.4;letter-spacing:-1px;display:block}.metrics span{font-size:9px;color:var(--muted)}.source-note{color:var(--muted);font-size:10px;display:block;margin-top:15px}.education{border-left:1px solid var(--line);padding-left:40px}.education h3{margin:0 0 25px;font-size:16px}.education h3 i{color:var(--blue);margin-right:9px}.education-row{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}.education-row:last-child{border:0}.year{font-size:12px;color:var(--blue);font-weight:800}.education h4{font-size:13px;margin:0;line-height:1.8}.education p{font-size:12px;margin:5px 0;color:var(--muted)}.research-section{background:var(--pale)}.research-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.research-card{background:white;border:1px solid #dfe8f3;padding:30px;border-radius:8px;transition:transform .2s,border-color .2s}.research-card:hover{transform:translateY(-5px);border-color:#87b7f2}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.card-top i{font-size:26px;color:var(--blue)}.card-top span{font-size:11px;color:#99acc3}.research-card h3{font-size:17px;line-height:1.5;margin:0 0 12px}.research-card p{color:var(--muted);font-size:12px;margin:0}.project-list{margin-top:35px;border-top:1px solid #cbddee;border-bottom:1px solid #cbddee}.project-list summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-size:14px;font-weight:700;gap:20px;list-style:none}.project-list summary::-webkit-details-marker{display:none}.project-list summary span{font-size:10px;color:var(--muted);white-space:nowrap}.project-list summary i{color:var(--blue);margin-left:20px}.project-list[open] summary i{transform:rotate(45deg)}.project-year{border-top:1px solid var(--line);padding:18px 0}.project-year h4{color:var(--blue);margin:0;font-size:15px}.project-year h4 span{color:var(--ink);font-size:12px;margin-left:20px;font-weight:500}.project-year ul{font-family:'IBM Plex Sans Thai',sans-serif;color:var(--muted);font-size:12px;padding-left:20px}
.publication-controls{display:flex;gap:18px;align-items:center;margin-bottom:25px}.search-field{display:flex;gap:12px;align-items:center;background:var(--pale);border:1px solid var(--line);border-radius:5px;padding:12px 17px;flex:1}.search-field i{color:var(--muted);font-size:13px}.search-field input{width:100%;background:transparent;border:0;min-width:0;color:var(--ink);font-size:12px}.year-filter select{padding:12px 35px 12px 17px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font-size:12px}#publication-count{font-size:10px;color:var(--muted);white-space:nowrap}.publication{display:flex;gap:25px;padding:27px 0;border-top:1px solid var(--line)}.publication[hidden]{display:none}.pub-index{font-size:11px;color:#9bacc0;padding-top:4px;min-width:24px}.pub-content{flex:1}.pub-year{background:#edf5ff;padding:3px 9px;color:var(--blue);border-radius:3px;font-size:9px;font-weight:800}.pub-content p{font-size:13px;font-weight:600;line-height:1.9;margin:10px 0;color:#334a64}.doi{font-size:10px}.pub-symbol{color:#9bb5d1;font-size:19px;margin-top:18px}.publication-list{max-height:820px;overflow:auto;padding-right:18px;scrollbar-width:thin;scrollbar-color:#b1c9e6 #f3f7fb}#no-results{padding:30px;background:var(--pale);color:var(--muted)}.teaching-section{background:#0c2b50;color:white}.teaching-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.teaching-section .eyebrow{color:#7fb8ff}.teaching-section p:not(.eyebrow){font-size:13px;color:#9fb5d0;max-width:350px}.course{display:flex;align-items:center;gap:22px;border-bottom:1px solid #ffffff1c;padding:23px 0}.course:first-child{padding-top:0}.course i{color:#78b4ff;font-size:23px;width:32px}.course span{font-size:10px;letter-spacing:2px;color:#81b4f2}.course h3{font-size:15px;margin:5px 0 0;font-weight:600}.recognition-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px}.subheading{font-size:16px;margin:0 0 22px}.subheading i{color:var(--blue);margin-right:10px}.awards{list-style:none;padding:0;margin:0}.awards li{font-size:12px;padding:15px 0 15px 23px;border-bottom:1px solid var(--line);position:relative}.awards li:before{content:'✧';position:absolute;left:0;color:var(--blue)}.review-panel{background:var(--pale);padding:30px;border-radius:8px}.review-panel p{color:var(--muted);font-size:12px}.reviewers{padding-left:17px;color:var(--muted);font-size:11px}.reviewers li{margin:8px 0}.contact-section{background:linear-gradient(120deg,#eaf4ff,#f4f8ff);border-top:1px solid var(--line);padding:80px 0}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.contact-section p:not(.eyebrow){color:var(--muted);font-size:13px}.contact-email{display:inline-flex;align-items:center;gap:30px;font-size:25px;font-weight:700;color:var(--blue);margin-top:18px;letter-spacing:-.5px}.contact-email i{font-size:15px}.contact-layout address{font-style:normal;border-left:1px solid #cddff2;padding-left:50px}.contact-layout address>div{display:flex;gap:20px;align-items:flex-start;margin:15px 0}.contact-layout address i{color:var(--blue);margin-top:6px}.contact-layout address p{margin:0}.contact-layout address small{display:block;font-size:9px;letter-spacing:1px}.contact-layout address a{font-size:18px;font-weight:600;color:var(--ink)}footer{padding:28px 0}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand .brand-mark{font-size:33px}.footer-brand{font-size:10px}.footer-brand small{font-size:7px}.footer-content p,.footer-content>a:last-child{color:var(--muted);font-size:10px}.footer-content>a:last-child i{margin-left:15px;color:var(--blue)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;top:10px;left:10px;padding:10px 20px;background:var(--deep);color:white;z-index:100}body:lang(th) h1{letter-spacing:-2px;font-size:clamp(60px,6vw,85px);line-height:1.25}body:lang(th) h2{letter-spacing:-.5px}body:lang(th) nav{gap:18px}body:lang(th) .eyebrow{letter-spacing:1px}@media(max-width:1150px){.container{width:calc(100% - 64px)}.nav-wrap{gap:18px}nav{gap:17px}.brand{font-size:11px}.languages{padding-left:14px}.hero-layout{gap:45px}.portrait-composition{padding-left:0}.orbit{width:380px;height:380px}.orbit-two{width:440px;height:440px}.hero-lead{font-size:21px}.expertise-strip .container{gap:20px}.expertise-strip p{gap:16px;font-size:10px}.about-layout,.recognition-layout{gap:40px}.research-card{padding:24px}.research-card h3{font-size:15px}}@media(max-width:960px){.nav-wrap{height:78px}.menu-toggle{display:block;margin-left:auto}.languages{order:2}nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:20px 32px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #10294c10}nav.open{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}nav a.active:after{display:none}.hero-layout{padding-top:50px;gap:25px}h1{font-size:70px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1px}.floating-tag{left:-15px;padding:14px;font-size:10px}.portrait-label{font-size:7px;letter-spacing:1px}.orbit{width:310px;height:310px}.orbit-two{width:370px;height:370px}.hero-actions{gap:9px}.button{padding:12px 15px;gap:15px;font-size:11px}.section{padding-top:75px;padding-bottom:75px}.section-heading{gap:25px}.section-intro{max-width:270px}.about-layout{gap:30px}.education{padding-left:25px}.education-row{gap:14px}.research-cards{gap:14px}.research-card{padding:23px 18px}.teaching-layout{gap:45px}.contact-layout{gap:35px}.contact-layout address{padding-left:30px}.contact-email{font-size:22px}.expertise-strip .container{display:block}.expertise-strip span{display:block;margin-bottom:7px}.expertise-strip p{justify-content:space-between;flex-wrap:wrap;gap:8px}}@media(max-width:700px){.container{width:calc(100% - 40px)}.nav-wrap{height:72px;gap:12px}.brand{font-size:10px;gap:9px}.brand-mark{font-size:36px}.brand small{font-size:7px;letter-spacing:1.3px}.languages{padding-left:12px;font-size:11px}nav{top:72px;padding:22px}nav.open{grid-template-columns:repeat(2,1fr)}.hero-layout{grid-template-columns:1fr;padding-top:35px;padding-bottom:50px;gap:45px}.academic-title{margin-top:24px;font-size:15px}h1{font-size:75px;letter-spacing:-4px}.hero-lead{font-size:22px}.hero-description{max-width:100%;font-size:13px}.hero-actions{gap:12px}.button{padding:13px 20px;font-size:12px}.hero-affiliation{margin-top:27px}.portrait-composition{width:min(350px,90%);margin:auto;padding:20px 20px 30px 10px}.portrait-frame{border-radius:110px 10px 10px 10px}.portrait-label{font-size:8px;margin-left:10px}.orbit{width:330px;height:330px;top:15px;left:-5px}.orbit-two{width:380px;height:380px;top:-10px;left:-30px}.floating-tag{left:-12px;bottom:10px;padding:13px 19px;font-size:11px}.figure-index{font-size:7px;bottom:-10px}.hero-bottom{font-size:7px;letter-spacing:1px}.hero-bottom>span:last-child{display:none}.expertise-strip p{font-size:10px;justify-content:flex-start;gap:10px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:32px}h2{font-size:31px;letter-spacing:-1px}.section-intro{max-width:100%;margin-top:20px}.about-layout,.teaching-layout,.recognition-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.education{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.metrics{gap:13px}.metrics strong{font-size:31px}.research-cards{grid-template-columns:1fr;gap:15px}.research-card{padding:26px}.card-top{margin-bottom:18px}.research-card h3{font-size:18px}.research-card p{font-size:13px}.project-list summary{font-size:12px}.project-year h4 span{display:block;margin:8px 0}.publication-controls{flex-wrap:wrap;gap:12px}.search-field{flex-basis:100%}#publication-count{margin-left:auto}.publication{gap:15px}.pub-symbol{display:none}.pub-content p{font-size:12px}.publication-list{max-height:780px;padding-right:8px}.teaching-layout{gap:30px}.course h3{font-size:14px}.review-panel{padding:25px}.contact-section{padding:60px 0}.contact-email{font-size:23px;gap:20px}.contact-layout address{border-left:0;border-top:1px solid #cddff2;padding:20px 0 0}.footer-content{flex-wrap:wrap;gap:15px}.footer-content p{order:3;flex-basis:100%;margin:0}.footer-content>a:last-child{margin-left:auto}.eyebrow{font-size:9px}body:lang(th) h1{font-size:72px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Research and scholarly profile emphasis */
.research-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-profiles{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.profile-link{display:flex;align-items:center;gap:16px;color:var(--blue);font-size:14px;font-weight:800}.profile-link>i:first-child{font-size:27px}.profile-link>i:last-child{margin-left:auto;font-size:12px}.profile-link small{display:block;color:var(--muted);font-size:11px;font-weight:500;margin-top:3px}.scholar-banner{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #cddff4;border-radius:8px;background:linear-gradient(120deg,#f0f7ff,#f9fbff);padding:28px 32px;margin-bottom:30px}.scholar-banner .eyebrow{margin-bottom:8px}.scholar-banner h3{font-size:23px;margin:0 0 8px;line-height:1.4}.scholar-banner p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0;max-width:540px}.scholar-banner .button{flex-shrink:0}.hero-actions{flex-wrap:wrap}.hero-lead{font-size:22px}@media(max-width:700px){.research-cards{grid-template-columns:1fr}.scholar-banner{flex-direction:column;align-items:flex-start;padding:25px;gap:20px}.scholar-banner .button{width:100%}.hero-lead{font-size:20px}}
.pub-status{display:inline-block;font-size:9px;font-weight:700;color:#765317;background:#fff4da;border-radius:3px;padding:3px 9px}
/* London panorama: a quiet blue architectural backdrop for the academic hero. */
.hero{background-color:#edf5ff;background-image:linear-gradient(90deg,rgba(247,251,255,.92) 0%,rgba(243,249,255,.80) 36%,rgba(233,244,255,.36) 72%,rgba(228,240,255,.28) 100%),url('../img/london-hero-blue.png');background-size:cover;background-position:center bottom;background-repeat:no-repeat}.hero-grid{opacity:.45}.hero-bottom{background:rgba(246,251,255,.55)}
@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(247,251,255,.97) 0%,rgba(243,249,255,.92) 37%,rgba(236,246,255,.58) 64%,rgba(231,242,255,.35) 100%),url('../img/london-hero-blue.png');background-size:cover,auto 65%;background-position:center,48% bottom}.hero-bottom{background:rgba(246,251,255,.75)}}
