@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#fafbf9;--ink:#202c29;--muted:#727b75;--line:#e1e6df;--accent:#40614b;--soft:#eef2eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.75}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--ink);color:white;padding:10px;z-index:100}.skip:focus{top:0}.header{position:sticky;top:0;z-index:20;background:rgba(250,251,249,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:auto;height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{font-family:Manrope,Arial,sans-serif;font-size:23px;font-weight:800;letter-spacing:-1px}.brand-dot{color:var(--accent)}.top-nav{display:flex;align-items:center;gap:32px;font-size:13px}.top-nav>a,.project-control>a{padding:10px 0;position:relative}.top-nav [aria-current=page]:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--accent)}.project-control{display:flex;align-items:center;gap:5px}.menu-toggle{border:0;background:none;color:var(--muted);padding:6px;cursor:pointer}.project-menu{position:relative}.dropdown{display:none;position:absolute;top:100%;left:-22px;width:190px;padding:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 30px #23302312;border-radius:8px}.dropdown a{display:flex;justify-content:space-between;padding:8px 12px;border-radius:4px}.dropdown a:hover,.dropdown a:focus{background:var(--soft)}.dropdown a:first-child{border-bottom:1px solid var(--line);margin-bottom:5px}.project-menu:focus-within .dropdown,.project-menu.open .dropdown{display:block}@media(hover:hover){.project-menu:hover .dropdown{display:block}}.page-layout{max-width:1240px;margin:auto;padding:0 40px;display:grid;grid-template-columns:minmax(0,1fr) 162px;gap:74px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;padding:73px 0 26px;border:0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;text-transform:uppercase;color:var(--accent);margin:0 0 20px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.25}h1{font-size:45px;letter-spacing:-2px;font-weight:650;margin:0 0 24px}h2{font-size:27px;letter-spacing:-.9px;margin:0;font-weight:650}h3{font-size:16px;letter-spacing:-.3px;margin:0 0 6px;font-weight:700}p{margin:0 0 16px}.intro{font-size:15px;line-height:1.85;color:var(--muted);max-width:570px}.hero-links{display:flex;align-items:center;gap:24px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:11px 19px;font-size:12px;border-radius:5px;font-weight:550;line-height:1.5}.primary{background:var(--accent);color:white}.primary:hover{background:#304f3a}.secondary{border:1px solid var(--line);background:var(--paper)}.text-link{font-size:12px;font-weight:550;display:inline-flex;gap:14px}.placeholder{background:#edf0e9;border:1px solid #e1e6db;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#7a8577;border-radius:7px;font-size:12px;min-height:100px}.image-symbol{font-size:30px;font-weight:400;color:#96a18e;line-height:1.4}.placeholder small{font-size:10px;color:#8b9486}.portrait{aspect-ratio:4/4.6;width:100%;background:#e7ece1}.photo-caption{font-size:10px;color:var(--muted);margin:9px 0 0;display:flex;align-items:center;gap:7px}.tiny-dot{height:5px;width:5px;border-radius:50%;background:var(--accent)}.photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 55px}.photo-strip .placeholder{height:145px}.photo-strip .placeholder:nth-child(2){background:#f0eeea;border-color:#e8e3dc}.toc{position:sticky;top:138px;align-self:start;margin-top:76px;font-size:11px}.toc>p{text-transform:uppercase;letter-spacing:1.3px;font-size:9px;font-weight:650;margin-bottom:16px}.toc nav{display:flex;flex-direction:column;border-left:1px solid var(--line)}.toc a{padding:7px 0 7px 17px;color:var(--muted);border-left:2px solid transparent;margin-left:-1px;line-height:1.6}.toc a.active{color:var(--accent);border-color:var(--accent);font-weight:600}.toc a:hover{color:var(--ink)}.toc-note{display:block;color:#9ca49b;font-size:10px;margin-top:31px}main section:not(.hero){padding:40px 0 42px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:15px;margin-bottom:27px}.number{font-size:10px;color:#819078;font-weight:550}.bio{max-width:650px;color:var(--muted)}.entry{display:flex;justify-content:space-between;gap:25px;margin:0 0 27px;padding-bottom:27px;border-bottom:1px solid var(--line)}.entry:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.entry-role{font-size:13px;margin-bottom:10px;color:#59675d}.entry .muted{max-width:540px;font-size:13px;margin:0}.date{white-space:nowrap;font-size:10px;color:var(--muted);padding-top:3px}.muted{color:var(--muted)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.skills-grid h3{font-size:13px;margin-bottom:12px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:10px;border:1px solid var(--line);border-radius:4px;padding:3px 9px;color:#6d796d;background:#f3f5f0}.contact-panel{padding:30px;background:var(--soft);border-radius:7px}.contact-panel h3{font-size:24px;margin-bottom:12px}.contact-panel>p{font-size:13px;max-width:500px}.contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.unavailable{cursor:default}.unavailable small{font-size:9px;opacity:.75}.unavailable.primary:hover{background:var(--accent)}footer{max-width:1160px;border-top:1px solid var(--line);margin:38px auto 0;padding:25px 0 30px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.wide-main{max-width:1120px;margin:0 auto;padding:0 40px}.page-intro{padding:65px 0 46px}.page-intro h1{font-size:52px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:43px 30px;padding-bottom:25px}.project-image{aspect-ratio:1.6}.tint-1{background:#efede6;border-color:#e6e0d5}.tint-2{background:#e8edef;border-color:#dce4e7}.tint-3{background:#eeebe9;border-color:#e3ded9}.card-title{display:flex;align-items:center;justify-content:space-between;margin-top:19px}.card-title h2{font-size:21px}.card-title>span{color:var(--accent);font-size:20px}.project-card .muted{font-size:13px;margin:9px 0 14px}.hobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-bottom:60px}.hobby-image{aspect-ratio:1.1;margin-bottom:24px}.hobby-grid h2{font-size:24px;margin-bottom:13px}.hobby-grid p{font-size:14px}.placeholder-link{color:var(--accent);margin-top:20px}.placeholder-link small{font-size:11px;color:var(--muted)}.project-detail{padding-top:40px}.back-link{display:block;font-size:12px;color:var(--muted);margin-bottom:40px}.project-detail h1{font-size:52px}.project-meta{display:flex;gap:55px;border-top:1px solid var(--line);padding-top:20px;margin:30px 0}.project-meta small{text-transform:uppercase;font-size:9px;letter-spacing:1px;color:var(--muted)}.project-meta p{font-size:12px;margin:5px 0}.detail-image{aspect-ratio:1.8;margin-bottom:45px}.process-image{aspect-ratio:2.1;margin-top:24px}.project-detail section>p{font-size:14px}
@media(min-width:1400px){.page-layout{gap:90px}.hero{gap:55px}h1{font-size:49px}}
@media(max-width:1000px){.page-layout{gap:35px;grid-template-columns:minmax(0,1fr) 135px;padding:0 30px}.hero{gap:25px;grid-template-columns:1.25fr 1fr}h1{font-size:35px}.hero-links{gap:15px}.button{padding:10px 13px}.date{white-space:normal;min-width:85px;text-align:right}footer{margin-left:30px;margin-right:30px}}
@media(max-width:760px){.header-inner{height:72px;padding:0 22px}.brand{font-size:21px}.top-nav{gap:18px;font-size:12px}.page-layout{display:flex;flex-direction:column;padding:0 22px;gap:0}.toc{position:static;order:-1;margin:22px 0 0;border:1px solid var(--line);padding:12px 15px;border-radius:6px}.toc>p{margin:0 0 6px;font-size:8px}.toc nav{flex-direction:row;flex-wrap:wrap;border:0;gap:0 14px}.toc a{padding:3px 0;border:0;font-size:10px}.toc-note{display:none}.hero{padding:36px 0 15px;gap:25px}.eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:15px}h1{font-size:32px;letter-spacing:-1.3px}.hero .intro{font-size:13px}.hero-links{flex-wrap:wrap;gap:14px;margin-top:20px}.photo-strip{margin-bottom:35px}.photo-strip .placeholder{height:115px}.photo-caption{font-size:8px}.portrait small{font-size:8px}main section:not(.hero){padding:30px 0}.section-heading{margin-bottom:22px}h2{font-size:24px}.entry{gap:15px}.entry h3{font-size:15px}.skills-grid{gap:25px 20px}.contact-panel{padding:23px}.contact-links{gap:8px}.contact-links .unavailable{flex-direction:column;gap:3px}.wide-main{padding:0 22px}.page-intro{padding:42px 0 30px}.page-intro h1,.project-detail h1{font-size:42px}.project-grid{gap:32px 20px}.hobby-grid{gap:25px}.project-detail{padding-top:25px}.project-meta{gap:25px}.back-link{margin-bottom:25px}footer{margin:25px 22px 0;flex-wrap:wrap}footer>span:nth-child(2){display:none}}
@media(max-width:480px){.top-nav{gap:12px}.brand{font-size:18px}.hero{grid-template-columns:1fr}.portrait-wrap{max-width:100%}.portrait{aspect-ratio:1.3}.hero h1{font-size:40px}.hero .intro{font-size:14px}.hero-links{margin-bottom:10px}.photo-strip .placeholder{height:110px}.skills-grid,.project-grid,.hobby-grid{grid-template-columns:1fr}.entry{display:block}.date{display:block;text-align:left;margin-top:10px}.project-meta{flex-wrap:wrap}.dropdown{left:auto;right:0}.contact-links .unavailable{flex-direction:row;gap:12px}.contact-panel{padding:20px}.placeholder small{font-size:9px}}
.top-nav{gap:28px}.top-nav>a,.project-control>a{height:40px;display:inline-flex;align-items:center;padding:0}.project-control{height:40px;gap:5px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:40px;padding:0;line-height:1}.menu-toggle svg{display:block}.top-nav [aria-current=page]:after{bottom:0}.brand{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.project-menu.dismissed .dropdown{display:none}.demo-media{display:grid;gap:20px}.demo-video{aspect-ratio:16/9}.demo-image{aspect-ratio:1.8}.demo-media figure{margin:0}.demo-media img,.demo-media video{display:block;width:100%;height:auto;border-radius:7px;background:var(--soft)}.demo-media figcaption{font-size:11px;color:var(--muted);margin-top:8px}
@media(max-width:760px){.top-nav{gap:18px}}
@media(max-width:480px){.top-nav{gap:12px}.project-control{gap:2px}.menu-toggle{width:20px}}
/* Appearance preferences: exact school colors for accents, darker text tones in light mode. */
:root{--accent:#FF5F05;--accent-text:#a63700;--accent-tint:#fff0e6;--paper:#fafbf9;--ink:#202c29;--muted:#69746d;--line:#e1e6df;--soft:#f0f2ee;--button-ink:#25170c;color-scheme:light}
:root[data-accent=gold]{--accent:#B39051;--accent-text:#77591f;--accent-tint:#f5efe3}
:root[data-mode=dark]{--paper:#1e293b;--ink:#f0f3f7;--muted:#b6c1cf;--line:#3a485d;--soft:#273449;--accent-text:#ff995f;--accent-tint:#41332e;color-scheme:dark}
:root[data-mode=dark][data-accent=gold]{--accent-text:#dec18b;--accent-tint:#3b3840}
.header{background:var(--paper)}.header-inner{gap:30px}.top-nav{margin-left:auto}.theme-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}.theme-controls button{cursor:pointer;flex-shrink:0}.color-choice{width:18px;height:18px;border-radius:50%;border:1px solid #0002;padding:0;position:relative}.color-choice.orange{background:#FF5F05}.color-choice.gold{background:#B39051}.color-choice[aria-pressed=true]:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--ink)}.control-divider{height:18px;width:1px;background:var(--line);margin:0 4px 0 7px}.mode-toggle{border:0;background:none;color:var(--ink);display:flex;align-items:center;justify-content:center;width:30px;height:32px;padding:0;border-radius:5px}.mode-toggle:hover{background:var(--soft)}.sun-icon{display:none}[data-mode=dark] .sun-icon{display:block}[data-mode=dark] .moon-icon{display:none}
.eyebrow,.toc a.active,.placeholder-link,.card-title>span{color:var(--accent-text)}.primary{color:var(--button-ink);background:var(--accent)}.primary:hover{background:var(--accent);filter:brightness(.94)}.unavailable.primary:hover{filter:none}.number,.entry-role{color:var(--muted)}.entry-gpa{font-size:12px;color:var(--muted);margin:-3px 0 10px}.tags span{background:var(--soft);border-color:var(--line);color:var(--muted)}.tags .new-skill{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-text)}.new-skill strong{font-size:9px;font-weight:700}.skills-intro{font-size:14px;max-width:650px;margin:-8px 0 28px}.contact-panel{background:var(--soft)}.placeholder,.portrait,.photo-strip .placeholder:nth-child(2),.tint-1,.tint-2,.tint-3{background:var(--soft);border-color:var(--line);color:var(--muted)}.placeholder small,.image-symbol,.toc-note{color:var(--muted)}.footer-verse{margin:0;max-width:660px;text-align:center;font-size:11px;line-height:1.8}.footer-verse p{margin:0 0 5px}.footer-verse cite{font-style:normal;font-size:10px;color:var(--accent-text)}footer{align-items:flex-start;gap:30px}footer>span,footer>a{white-space:nowrap;padding-top:3px}
@media(max-width:900px){.header-inner{gap:20px}.top-nav{gap:20px}}
@media(max-width:600px){.header-inner{height:auto;min-height:100px;display:grid;grid-template-columns:1fr auto;gap:4px 15px;padding-top:12px;padding-bottom:8px}.theme-controls{grid-column:2;grid-row:1}.top-nav{grid-column:1/-1;grid-row:2;justify-content:center;margin:0;gap:30px}.brand{grid-column:1;grid-row:1}.footer-verse{order:3;flex-basis:100%;max-width:none;text-align:left}footer{justify-content:space-between;gap:16px}.color-choice{width:20px;height:20px}.theme-controls{gap:12px}html{scroll-padding-top:130px}}
.top-nav{display:grid;grid-template-columns:repeat(3,100px);gap:0;justify-items:center;align-items:center}.top-nav>a{justify-content:center}.project-control{position:relative;justify-content:center;gap:0}.project-control .menu-toggle{position:absolute;left:100%;margin-left:3px;width:20px}.dropdown{left:50%;transform:translateX(-50%)}.intro-name{margin-bottom:24px}.intro-name p:first-child{font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:650;letter-spacing:-.6px;margin:0 0 5px}.intro-name p[lang]{font-size:19px;letter-spacing:3px;line-height:1.5;color:var(--muted);margin:0}.skills-projects{font-size:14px;color:var(--muted);margin:30px 0 0}.skills-projects a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.top-nav{grid-template-columns:repeat(3,90px);gap:0}}
@media(max-width:600px){.top-nav{display:grid;grid-template-columns:repeat(3,100px);gap:0}.dropdown{left:50%;right:auto}.intro-name p:first-child{font-size:21px}}
.intro-name p[lang]{font-family:'Microsoft JhengHei','PingFang TC','Noto Sans CJK TC',sans-serif;font-weight:700;color:var(--ink);letter-spacing:1px}.hero .eyebrow{text-transform:none;letter-spacing:.5px;font-size:12px;line-height:1.8}.hero-links{flex-wrap:wrap;gap:18px}
.top-nav{display:flex;gap:24px}.project-control{gap:0}.intro-name p:first-child{margin:0;font-size:22px;line-height:1.5}.name-divider{font-weight:400;color:var(--muted);margin:0 6px}.chinese-name{font-family:'Microsoft JhengHei','PingFang TC','Noto Sans CJK TC',sans-serif;font-size:20px;font-weight:700;letter-spacing:1px;white-space:nowrap}
@media(max-width:900px){.top-nav{gap:22px}}
@media(max-width:600px){.top-nav{display:flex;gap:24px}.intro-name p:first-child{font-size:20px}.chinese-name{font-size:18px}.name-divider{margin:0 4px}}
.intro-name{margin-bottom:4px}.hero-copy>.eyebrow{margin-bottom:24px}.top-nav>a,.project-control>a{isolation:isolate}.top-nav>a:before,.project-control>a:before{content:'';position:absolute;inset:4px -9px;border-radius:5px;background:#e5e7eb;opacity:0;z-index:-1;transition:opacity .15s ease}.top-nav>a:hover:before,.top-nav>a:focus-visible:before,.project-menu:hover .project-control>a:before,.project-menu:focus-within .project-control>a:before{opacity:1}[data-mode=dark] .top-nav>a:before,[data-mode=dark] .project-control>a:before{background:#354155}
.entry{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:20px;align-items:start}.entry-logo{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:7px;background:var(--soft);color:var(--muted);font-size:10px}.entry-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.entry-copy{min-width:0}.entry .date{margin:0}.contact-links .primary{min-width:115px}
@media(max-width:600px){.entry{grid-template-columns:48px minmax(0,1fr);gap:12px 16px}.entry-logo{width:48px;height:48px}.entry .date{grid-column:2;text-align:left;min-width:0;padding:0}}
.experience-group{scroll-margin-top:0}.experience-group+.experience-group{margin-top:42px}.subsection-heading{font-size:18px;font-weight:650;color:var(--accent-text);margin:0 0 25px;letter-spacing:-.3px}.entry-copy h4{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.3px;margin:0 0 6px}.entry-highlights{padding-left:17px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.entry-highlights li+li{margin-top:7px}.toc a.toc-subsection{font-size:10px;padding-left:27px}.entry .date{max-width:150px;text-align:right;white-space:normal}
@media(max-width:600px){.entry .date{max-width:none;text-align:left}.entry-copy h4{font-size:15px}.experience-group{scroll-margin-top:0}.toc a.toc-subsection{padding-left:0}}
.toc a.toc-subsection{position:relative;padding-left:38px}.toc a.toc-subsection:before{content:'';position:absolute;left:18px;top:0;bottom:0;border-left:1px solid var(--line)}.toc a.toc-subsection:after{content:'';position:absolute;left:18px;top:50%;width:12px;border-top:1px solid var(--line)}.toc a.toc-subsection[href="#industry-experience"]:before{bottom:50%}
@media(max-width:760px){.toc a.toc-subsection{padding-left:0}.toc a.toc-subsection:before,.toc a.toc-subsection:after{display:none}}
.experience-tags{margin-top:16px}
.entry-logo.has-logo{position:relative;overflow:hidden;background:#fff;border:1px solid var(--accent)}.entry-logo.has-logo img{padding:5px}.entry-logo.crop-e2 img{position:absolute;width:426.667%;height:223.667%;max-width:none;left:0;top:-61.667%;padding:0;object-fit:fill}
#education .entry-logo.has-logo:has(img[src$="georgia-tech.svg"]){border-color:#B39051}#education .entry-logo.has-logo:has(img[src$="uiuc.png"]){border-color:#FF5F05}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Introduction photo and two rows of contact links. */
.hero{padding-bottom:48px}
.portrait-photo{display:block;width:100%;height:auto;aspect-ratio:741/989;object-fit:contain;border-radius:7px;border:1px solid var(--line)}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}
.document-links,.social-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.document-links .button{width:100px;min-width:0;padding:11px 12px;gap:12px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink);transition:color .15s ease,border-color .15s ease}
.social-link:hover{color:var(--accent-text);border-color:var(--accent)}
@media(max-width:480px){.portrait-wrap{width:100%;max-width:340px;justify-self:center}.hero{padding-bottom:30px}}

.intro-bio{white-space:pre-line}
.about-main{min-height:calc(100vh - 250px)}
.about-main .page-intro{max-width:760px}
.about-bio{font-size:16px;line-height:1.9;color:var(--muted)}
.about-bio p{margin-bottom:24px}
@media(max-width:600px){.top-nav{gap:24px}.about-bio{font-size:15px}}
@media(max-width:360px){.top-nav{gap:18px}}

/* Align the photo with the bio and keep all intro links together. */
.hero{align-items:start;row-gap:28px}
.hero-copy{display:contents}
.hero-text{grid-column:1;grid-row:1}
.hero-text>.eyebrow{margin-bottom:24px}
.hero-text>.intro{margin-bottom:0}
.hero .portrait-wrap{grid-column:2;grid-row:1;align-self:stretch;position:relative;min-height:0}
.hero .portrait-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.hero-actions{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;gap:12px;margin:0;flex-wrap:nowrap}
.document-links,.social-links{flex-wrap:nowrap}
.document-links .button{height:44px}
@media(max-width:480px){
 .hero-text{grid-column:1;grid-row:1}
 .hero .portrait-wrap{grid-column:1;grid-row:2;position:static;width:100%;max-width:340px;justify-self:center}
 .hero .portrait-photo{position:static;height:auto;aspect-ratio:741/989;object-fit:contain}
 .hero-actions{grid-column:1;grid-row:3;gap:8px;width:100%}
 .hero-actions .document-links,.hero-actions .social-links{gap:8px}
 .document-links .button{width:auto;min-width:60px;padding:10px 8px;gap:6px}
 .social-link{width:36px;height:44px}
}
@media(max-width:360px){.hero-actions,.hero-actions .document-links,.hero-actions .social-links{gap:6px}.document-links .button{min-width:56px;padding:10px 6px}.social-link{width:32px}}

.document-links .button{border:1px solid var(--line)}
#education .entry-copy>.muted{white-space:pre-line}

.hobby-video{display:block;width:100%;object-fit:contain;background:var(--soft);border:1px solid var(--line);border-radius:7px}

.hobby-video{width:auto;max-width:100%;height:auto;max-height:455px;aspect-ratio:9/16;object-fit:contain;pointer-events:none;border-radius:10px}

.hobby-video{margin-left:auto;margin-right:auto}
.inline-link{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.inline-link:hover{color:var(--ink)}

.hobby-video-figure{margin:0 0 12px}
.hobby-video-figure .hobby-video{margin-bottom:0}
.hobby-video-figure figcaption{text-align:center;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}

.hobby-grid{row-gap:48px;align-items:start}
.hobby-media-figure{margin:0 0 12px}
.hobby-media-figure figcaption{text-align:center;font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5}
.hobby-photo{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px}

.construction-notice{margin:0;padding:6px 20px;text-align:center;font-size:12px;font-weight:550;line-height:1.5;background:var(--accent-tint);color:var(--accent-text);border-bottom:1px solid var(--line)}
html{scroll-padding-top:146px}
.toc{top:169px}
@media(max-width:600px){html{scroll-padding-top:161px}.construction-notice{font-size:11px;padding:6px 12px}}

.hero .portrait-wrap{margin:0}
.portrait-wrap figcaption{position:absolute;top:100%;left:0;right:0;margin-top:8px;text-align:center;font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:480px){.portrait-wrap figcaption{position:static}}

.project-photo{display:block;width:100%;height:auto;aspect-ratio:auto;border:1px solid var(--line);border-radius:7px}

.project-coming-soon-image{aspect-ratio:1215/911;background:#e5e7eb;border:1px solid var(--line);border-radius:7px}
[data-mode=dark] .project-coming-soon-image{background:#354155}
.blinking-caret{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:4px;vertical-align:-.12em;animation:caret-blink 1.1s step-end infinite}
@keyframes caret-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.blinking-caret{animation:none}}

.research-main{min-height:calc(100vh - 280px)}
.research-main .intro{max-width:760px}
@media(max-width:400px){.top-nav{gap:16px;font-size:11px}}

.meaning-quote{margin:8px auto 30px;padding:24px 20px;text-align:center;max-width:720px;background:var(--soft);border-radius:7px}
.meaning-quote blockquote{margin:0}
.catechism-question{font-size:15px;margin:0 0 16px}
.catechism-answer{font-family:Manrope,Arial,sans-serif;font-size:23px;font-weight:650;line-height:1.5;letter-spacing:-.4px;margin:0 0 18px}
.meaning-quote figcaption{font-size:11px;color:var(--muted)}
.meaning-quote cite{font-style:normal}
.meaning-description{font-size:14px;line-height:1.9;margin:0}
@media(max-width:600px){.meaning-quote{padding:22px 16px}.catechism-answer{font-size:20px}}
