:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#20252a;background:#fbf8ef;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;padding:34px 32px 60px}a{color:inherit}a:focus-visible{outline:3px solid #971b1f;outline-offset:4px}.site-heading,.contact-page{width:min(1100px,100%);margin-inline:auto}.site-heading{padding:0 0 30px}.site-address{color:#971b1f;font-size:clamp(2.3rem,6.3vw,4.8rem);font-weight:700;letter-spacing:-.05em;line-height:1.1;margin:0}.site-address>span{color:#b27e11}.contact-page{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);background:#fff;border-top:5px solid #f1bd2e}.identity{padding:38px 34px;background:#fbf8ef}.portrait{width:100%;max-width:347px;margin:0 auto 28px;background:#fff}.portrait img{display:block;width:100%;height:auto;object-fit:contain}h1{color:#651014;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.5rem,2.45vw,1.9rem);font-weight:400;line-height:1.32;letter-spacing:-.025em;margin:0 0 23px}h1>span{display:block}.period{color:#111}.role,.credentials,.intro{line-height:1.55;margin:0 0 22px}.role{font-size:1.125rem;font-weight:700}.role>span,.credentials>span,.credentials>strong,.intro>span{display:block}.role [lang=vi],.credentials [lang=vi],.intro [lang=vi]{color:#5f666b;margin-top:4px}.credentials{font-size:.9375rem}.credentials strong{font-size:.875rem;margin-top:9px;line-height:1.6}.intro{font-size:1rem;margin-bottom:0}.intro [lang=vi]{margin-top:9px}.details{padding:38px 34px}h2{color:#971b1f;font-size:1.45rem;line-height:1.5;margin:0 0 18px;font-weight:600}h2 span{color:#5f666b;font-weight:400}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;border-top:1px solid #e5ddcf}.phone{display:flex;flex-direction:column;gap:9px;justify-content:center;min-height:95px;border-bottom:1px solid #e5ddcf;text-decoration:none;padding:17px 0}.location{font-size:.875rem;line-height:1.5;color:#5f666b;font-weight:600}.number{color:#971b1f;font-size:clamp(1rem,1.65vw,1.2rem);font-weight:600;line-height:1.5;white-space:nowrap}.phone:hover .number{color:#651014}.messaging{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:24px 0 4px}.messaging a{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:104px;padding:13px 8px;text-align:center;border:1px solid #971b1f;text-decoration:none;background:#971b1f;color:#fff;line-height:1.4}.messaging strong{font-size:1rem}.messaging span{font-size:.875rem;overflow-wrap:anywhere}.messaging a:hover{background:#651014}.contact-item{padding:23px 0;border-bottom:1px solid #e5ddcf}.contact-item h3{font-size:.875rem;font-weight:600;color:#5f666b;line-height:1.5;margin:0 0 12px}.contact-item a{text-underline-offset:4px;line-height:1.6}.email>a{font-size:clamp(1rem,1.75vw,1.2rem);overflow-wrap:anywhere}address{font-size:1rem;font-style:normal;line-height:1.75;margin-bottom:11px}.address>a{font-size:.9375rem}
@media(max-width:920px){body{padding:28px 24px 40px}.identity,.details{padding:30px 25px}.numbers{grid-template-columns:1fr}.phone{min-height:81px;padding:14px 0;gap:4px}.number{font-size:1.25rem}.messaging{grid-template-columns:1fr}.messaging a{min-height:60px;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:13px 14px}.messaging span{font-size:.9rem}.identity{align-self:stretch}}
@media(max-width:640px){body{padding:24px 16px 32px}.site-heading{padding-bottom:23px}.site-address{font-size:clamp(2.2rem,10.6vw,3.7rem)}.contact-page{grid-template-columns:1fr}.identity,.details{padding:27px}.portrait{max-width:280px;margin-bottom:22px}h1{font-size:clamp(1.55rem,6.1vw,2rem)}.numbers{grid-template-columns:1fr 1fr;gap:0 18px}.number{font-size:1.1rem}.phone{min-height:96px;gap:8px}.messaging{grid-template-columns:1fr}.intro{font-size:1rem}.details{padding-top:30px}.role{margin-bottom:18px}}
@media(max-width:480px){.identity,.details{padding:24px}.numbers{grid-template-columns:1fr}.number{font-size:1.25rem}.phone{min-height:83px;gap:5px}.email>a{font-size:1rem}.location{font-size:.875rem}}

/* Lacquer and gold framing, with gentle depth and a clear contact surface. */
.site-heading{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:205px;padding:38px 42px;margin-bottom:28px;background:#651014 url('/dongson-relief.png') no-repeat right center;background-size:auto 100%;border:1px solid #b28a32;border-radius:8px;box-shadow:0 4px 0 #5a1014,0 14px 28px #65101420}
.site-heading::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#651014e8 0%,#651014b3 46%,#65101400 82%);pointer-events:none}
.site-address{position:relative;color:#fffaf0;font-size:clamp(2.3rem,6.1vw,4.6rem);text-shadow:0 2px 2px #37060999}
.site-address>span{color:#f1bd2e;text-shadow:0 1px 0 #694616,0 3px 5px #31040880}
.site-addresses{display:grid;gap:10px;min-width:0;max-width:100%}
.site-addresses .site-address{font-size:clamp(1.1rem,5.2vw,3.5rem);overflow-wrap:anywhere}
.contact-page{position:relative;border:1px solid #d7c8a7;border-top:4px solid #d4a732;border-radius:8px;box-shadow:0 4px 0 #ded3bd,0 20px 42px #56331515}
.identity{background:linear-gradient(145deg,#fffdf7,#f7efdd);border-radius:5px 0 0 5px}
.portrait{padding:7px;background:linear-gradient(135deg,#f7dfa0,#ba8c2c 45%,#e7c16a 72%,#957024);border:1px solid #b58b36;box-shadow:0 2px 0 #896426,0 12px 23px #51341326;border-radius:4px}
.portrait img{background:#fff;box-shadow:0 0 0 1px #fff5dc;border-radius:1px}
.messaging a{border-radius:4px;border-color:#8e171b;box-shadow:inset 0 1px 0 #c35752,0 3px 0 #651014,0 6px 12px #65101412;transition:transform .16s,box-shadow .16s,background .16s}
@media(hover:hover){.messaging a:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #c35752,0 4px 0 #651014,0 8px 15px #65101420}}
@media(max-width:640px){.site-heading{align-items:flex-start;min-height:178px;padding:22px 20px;margin-bottom:24px;background-position:right bottom;background-size:auto 128px}.site-address{font-size:clamp(1.8rem,8.4vw,3.5rem)}.site-heading::before{background:linear-gradient(90deg,#651014df,#65101480 58%,#65101400)}.identity{border-radius:5px 5px 0 0}}
@media(prefers-reduced-motion:reduce){.messaging a{transition:none}.messaging a:hover{transform:none}}

/* A freestanding seal ornament anchors the bottom-left of the profile. */
.identity{display:flex;flex-direction:column}
.personal-seal{width:min(100%,260px);align-self:flex-start;margin:auto 0 0;padding:26px 0 0}
.personal-seal img{display:block;width:100%;height:auto;border-radius:6px}
@media(max-width:640px){.personal-seal{width:min(100%,240px);padding-top:24px}}

/* Text follows English, Vietnamese, Traditional Chinese, then Saro. */
[lang=zh-Hant]{font-family:'Noto Serif TC','PMingLiU','MingLiU',serif;line-height:1.65;word-break:normal;overflow-wrap:anywhere}
h1 .traditional-name{font-family:'Kaiti TC','DFKai-SB','KaiTi','Noto Serif TC',serif;font-size:1.2em;letter-spacing:.16em;line-height:1.4;color:#8b641e;margin-top:9px}
.role [lang=zh-Hant],.credentials [lang=zh-Hant],.intro [lang=zh-Hant]{margin-top:7px}
.credentials strong{display:block;margin-top:3px}
.translation,.location [lang=vi],.location [lang=zh-Hant],.address-translation{display:block}
.location [lang=vi],.location [lang=zh-Hant]{margin-top:3px}
h2 .translation{font-size:1.125rem;color:#971b1f;margin-top:3px}
.address-translation{margin-top:12px}
.messaging strong{overflow-wrap:anywhere}
.messaging .message-translation{display:block;font-size:.875rem;font-weight:400;line-height:1.4}
.messaging strong [lang=zh-Hant]{display:block;font-size:.875rem;font-weight:400}
@media(min-width:921px){.messaging a{justify-content:flex-start}}
@media(max-width:920px){.messaging strong{text-align:left}}

@font-face{font-family:'Saro Formal';src:url('/fonts/SaroFormal-v1.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block;unicode-range:U+0020,U+E001-E018}
@font-face{font-family:'Saro Cursive';src:url('/fonts/SaroCursive-v1.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block;unicode-range:U+0020,U+E001-E018}
.saro{display:block;font-family:'Saro Formal',Arial,sans-serif;font-size:1.5rem;font-weight:400;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere;margin-top:7px;color:#765721}
h1 .saro{font-family:'Saro Cursive',Arial,sans-serif;font-size:1.2em;line-height:1.5;color:#8b641e;margin-top:9px}
.credentials .saro strong{font-size:1.25rem;font-weight:400;line-height:1.5}
h2 .saro{font-size:1.5rem;color:#971b1f;margin-top:3px}
.location .saro,.contact-item h3 .saro{font-size:1.25rem;color:inherit;margin-top:4px}
.messaging strong .saro{font-size:1.125rem;line-height:1.5;color:inherit;text-align:inherit;margin-top:3px}
address .saro{font-size:1.25rem;margin-top:12px}
@font-face{font-family:'Saro Numerals';src:url('/fonts/SaroNumerals-v1.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block;unicode-range:U+0020,U+E100-E10B}
.saro-numerals{font-family:'Saro Numerals',Arial,sans-serif;font-size:1.2em;line-height:1;white-space:nowrap}
